
?????-V3.0.0 ist mein Videoplayer und aus diesem Screenshot können wir ersehen, dass der Videoplayer bereits als untergeordnetes Fenster des WorkerW-Fensters festgelegt ist. Das Video wird nicht auf meinem Desktop angezeigt. Könnte mir jemand den Grund nennen?
P.S. Das Folgende ist der wesentliche Teil meiner Wallpaper-Engine:
Code: Select all
int sleepTime = sleepTimeEdit->text().toInt();
Sleep(sleepTime);
HWND hProgman = FindWindow(L"Progman", 0);
SendMessageTimeout(hProgman, 0x52c, 0, 0, 0, 100, 0);
//Extract video name
QFileInfo fileinfo(newVideoPath);
QString videoName = fileinfo.fileName();
//convert videoName from QString to wstring
videoName = videoName + " - mpv";
std::wstring wVideoName = videoName.toStdWString();
LPCWSTR windowName = wVideoName.c_str();
//find my video player window
HWND hMpvWindow = FindWindow(0, L"?????-V3.0.0");
// whether window SHELLDLL_DefView is still in the Progman, cause after version 24H2, Progman will not split to three different windows after receiving 0x52c
HWND hDefView = FindWindowEx(hProgman, 0, L"SHELLDLL_DefView", 0);
if (hDefView != NULL)
{
HWND hWorkerW = FindWindowEx(hProgman, 0, L"WorkerW", 0);
if (hWorkerW != NULL)
{
SetParent(hMpvWindow, hWorkerW);
ShowWindow(hDefView, SW_HIDE);
Sleep(0);
ShowWindow(hDefView, SW_SHOWNORMAL);
}
}
else
{
SetParent(hMpvWindow, hProgman);
EnumWindows(EnumWindowsProc, 0);
}

Meine letzte Frage lautet also: Warum kann der Videoplayer, den ich mit qt schreibe, nicht angezeigt werden, wenn meine Wallpaper-Engine ihn als untergeordnetes Fenster von WorkerW festgelegt hat? Fenster?
Mobile version