模拟显示桌面
方法一
// Win键+ D键就是显示桌面快捷键
::keybd_event(VK_LWIN,0,0,0); // 按Win,不放开
::keybd_event(‘D’,0,0,0); // D key;再按D键不放开
::keybd_event(‘D’,0,KEYEVENTF_KEYUP,0); // 放开M键
::keybd_event(VK_LWIN,0,KEYEVENTF_KEYUP,0); // 放开Win键
方法二
#include <windows.h>
#include <shldisp.h>
CoInitialize (0);
IShellDispatch4 *pdisp = NULL;
CoCreateInstance(CLSID_Shell, NULL, CLSCTX_ALL, __uuidof (IShellDispatch4), (void**)&pdisp);
pdisp->ToggleDesktop (); //这句是用来切换桌面的
pdisp->Release();
CoUninitialize();
方法三
FILE *f;
char *p = "dest.scf";
f = fopen(p,"w");
fprintf(f, "[Shell]/nCommand=2/nIconFile=explorer.exe,3/n[Taskbar]/nCommand=ToggleDesktop");
fclose(f);
::ShellExecuteA(m_hWnd,"Open",p,NULL,NULL,SW_SHOW);
::DeleteFileA(p);
方法一效果很好, 方法二程序本身没有隐藏, 方法三效果也很好, 它就是模仿点击”显示桌面” 那个图标的