用SendInput发送Win+D使桌面上所有窗口最小化

桌面窗口最小化程序
本文介绍了一种通过模拟Win+D快捷键实现桌面所有窗口最小化的程序实现方法。作者尝试了多种方式,最终选择了使用SendInput函数来发送键盘输入指令的方法。
 
写个桌面上所有窗口最小化的程序竟然碰了一鼻子灰,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) );

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值