Решение «Unsupported» (также называемое взломом) (C / C ++):
HWND hWnd = FindWindowW(L"Shell_TrayWnd", NULL);
if (hWnd != NULL)
PostMessageW(hWnd, WM_TIMER, 0x18, 0);
Это вызовет вызов функции CoFreeUnusedLibraries в процессе проводника.
Протестировано в Windows 7 UltimateSP1 64-bit и Windows XP Professional SP3 32-bit.
Кстати, вы можете нажать Windows + D (чтобы свернуть все окна) и подождать 3 минуты.Программный взлом основан на этом поведении.Он просто вызывает обработчик таймера внутри процесса проводника.И код обработчика (C / C ++):
KillTimer(hWnd, 0x18);
CoFreeUnusedLibraries();
Нет вреда при вызове функции KillTimer для несуществующего таймера.