diff --git a/ExplorerPatcher/dllmain.c b/ExplorerPatcher/dllmain.c index 5c49e03..a4243e1 100644 --- a/ExplorerPatcher/dllmain.c +++ b/ExplorerPatcher/dllmain.c @@ -1656,9 +1656,37 @@ DWORD PlayStartupSound(DWORD unused) DWORD SignalShellReady(DWORD unused) { - Sleep(2000); printf("Started \"Signal shell ready\" thread.\n"); + while (TRUE) + { + HWND hWnd = FindWindowEx( + NULL, + NULL, + L"Shell_TrayWnd", + NULL + ); + if (hWnd) + { + hWnd = FindWindowEx( + hWnd, + NULL, + L"Start", + NULL + ); + if (hWnd) + { + if (IsWindowVisible(hWnd)) + { + break; + } + } + } + Sleep(100); + } + + Sleep(300); + HANDLE hEvent = CreateEvent(0, 0, 0, L"ShellDesktopSwitchEvent"); if (hEvent) {