有没有哪个API函数可以最小化所有窗口,显示桌面?
或者,按Win+D键可以达到这个效果,如何模拟发送这个键?

解决方案 »

  1.   

    keybd_event(VK_LWIN, 0, 0, 0);  
    keybd_event('D', 0, 0, 0);
      

  2.   

    使用广播的方法发送消息
    SendMessage(HWND_BROADCAST,WM_SHOWWINDOW,WS_MINIMIZE,0);   
      

  3.   

    EnumWindows枚举所有窗口,然后再调用ShowWindow函数来最小化所有的窗口。
      

  4.   

    raptormk16介绍的办法有效,不过有个副作用,执行后再按一下键盘上的其他键,会得到与Win键组合按下的效果,例如按下'E’键,打开了资源管理器。因此我加了一行代码,如下:
    keybd_event(VK_LWIN, 0, 0, 0);
    keybd_event('D', 0, 0, 0);
    keybd_event(VK_LWIN, 0, KEYEVENTF_KEYUP, 0);  用SendMessage(HWND_BROADCAST,WM_SHOWWINDOW,WS_MINIMIZE,0);则没有效果,不知是否因为我创建的是Win32程序、删除所有多余代码的缘故。