写个桌面上所有窗口最小化的程序竟然碰了一鼻子灰,NND,真想扔机子了!
本来写了个EnumWindows( (WNDENUMPROC)(EnumWindowsProc), 0 );的,然后在EnumWindowsProc里直接最小化所有窗口,发现用SendMessage和ShowWindow都不行,会把那些本来不显示的窗口都搞出来了,不知道是Windows的问题还是编译器的问题,及其郁闷,最后为了不浪费时间,干脆模拟Win+D快捷键算了,用SendInput的,记录一下,免得以后忘了。
INPUT kbinput[3];
ZeroMemory( &kbinput, sizeof(INPUT)*3 );
kbinput[0].type = INPUT_KEYBOARD;
kbinput[0].ki.wVk = VK_LWIN;
kbinput[1].type = INPUT_KEYBOARD;
kbinput[1].ki.wVk = 'D';
kbinput[2].type = INPUT_KEYBOARD;
kbinput[2].ki.wVk = VK_LWIN;
kbinput[2].ki.dwFlags = KEYEVENTF_KEYUP;
SendInput( 3, kbinput, sizeof(INPUT) );