Вариантов конечно много, но, есть таки и "легальный" способ...
На C++ это будет выглядеть так:
#include <windows.h>
#include <shldisp.h> // ole32.lib uuid.lib
BOOL SHMinimizeAll(BOOL fUndo) {
LONG lRes = -1, lNCo = CoInitialize(NULL);
if(lNCo == S_OK || lNCo == S_FALSE)
{
IShellDispatch * pIShDisp = NULL;
CoCreateInstance(CLSID_Shell, NULL, CLSCTX_INPROC_SERVER,
IID_IShellDispatch, (LPVOID*)&pIShDisp);
if(pIShDisp != NULL)
{
if(fUndo) lRes = pIShDisp->MinimizeAll();
else lRes = pIShDisp->UndoMinimizeALL();
pIShDisp->Release();
}
CoUninitialize();
}
return (lRes == S_OK); }
А можно и на JavaScript
new ActiveXObject('Shell.Application').MinimizeAll()