写了一个桌面切换的小工具

1.热键的问题

 BEGIN_MESSAGE_MAP(CWhyproDlg, CDialog)
 //{{AFX_MSG_MAP(CWhyproDlg)
 ON_WM_SYSCOMMAND()
 ON_WM_PAINT()
 ON_WM_QUERYDRAGICON()
 ON_MESSAGE(WM_HOTKEY,OnHotKey)<-------------先加入一个热键处理的过程没有热键无法切换回来
 //}}AFX_MSG_MAP
END_MESSAGE_MAP()

 

2.虚拟桌面返回的问题

void CWhyproDlg::OnHotKey()
{
  HDESK DefDesk=OpenDesktop("Default",0,FALSE,GENERIC_ALL);
 if (DefDesk==NULL){
  MessageBox("error");
  
 }
 if (!SwitchDesktop(DefDesk))
 {
  MessageBox("error");
 }

}

3.虚拟桌面创建的问题

   
   mHdesk =  CreateDesktop("newdesktop",NULL,NULL,DF_ALLOWOTHERACCOUNTHOOK,GENERIC_ALL,NULL);
     if (mHdesk == NULL)
    
   {
    MessageBox("error createdesktop");
   }


 HDESK mDesk=OpenDesktop("newdesktop",DF_ALLOWOTHERACCOUNTHOOK,FALSE,
       MAXIMUM_ALLOWED);
 if (mDesk==NULL)
 {
  MessageBox("error opendesktop");
 }
 SwitchDesktop(mDesk);
 SetThreadDesktop(mDesk);

 

4.创建explorer.exe的问题
 STARTUPINFO si;   
 PROCESS_INFORMATION pi;
 ZeroMemory( &si, sizeof(si) ); 
 si.cb = sizeof(si);  
 si.lpDesktop = "newdesktop";  
 
 ZeroMemory( &pi, sizeof(pi) );  
 
 if( !CreateProcess( "C://WINDOWS//explorer.exe",NULL,NULL,NULL,FALSE,0,                     
  NULL,NULL,&si,&pi ) )     
 {    
  MessageBox("error");    
  ExitProcess(1);    
 } 

5.最后的问题

自己回去组织一下调用关系或者扩展一下来个截图,托盘什么的就更好了!以上都是用mfc完成,如果所要代码请QQ联系

QQ:420094850。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值