您的位置:首页 > 运维架构 > Shell

模拟显示桌面

2010-09-28 17:07 134 查看
模拟显示桌面
 

方法一

// 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);
 
方法一效果很好, 方法二程序本身没有隐藏, 方法三效果也很好, 它就是模仿点击”显示桌面” 那个图标的
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  null shell file