创建虚拟桌面的代码(重启桌面进程)(使用GetThreadDesktop,CreateDesktop,SetThreadDesktop等函数)

upk 里挖坟得来,有兴趣查查这几个函数...

 

 

[cpp] view plain copy
 
 print?
  1. #include "windows.h"  
  2. #pragma comment(lib,"user32.lib")  
  3. int main()  
  4. {  
  5.     STARTUPINFO si;  
  6.     PROCESS_INFORMATION pi;  
  7.     char DeskName[]="pp";  
  8.     HDESK hold = GetThreadDesktop(GetCurrentThreadId());  
  9.     HDESK hhdesk = CreateDesktop( DeskName, NULL, NULL, DF_ALLOWOTHERACCOUNTHOOK, GENERIC_ALL, NULL);  
  10.     SwitchDesktop( hhdesk);  
  11.     SetThreadDesktop( hhdesk);  
  12.     ZeroMemory( &si, sizeof(si) );    
  13.     si.cb = sizeof(si);     
  14.     si.lpDesktop = DeskName;  
  15.     ZeroMemory( π, sizeof(pi) );    
  16.     CreateProcess( NULL, "explorer", NULL, NULL, FALSE, 0, NULL, NULL, &si, π);  
  17.     Sleep(60000);  
  18.     SwitchDesktop( hold);  
  19.     CloseDesktop( hhdesk);  
  20. }  

 

 

http://blog.csdn.net/wangningyu/article/details/5179221

posted @   findumars  Views(3611)  Comments(0Edit  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
历史上的今天:
2015-10-03 IBM总裁郭士纳总结的四类人
2015-10-03 dddd
2014-10-03 曲线控件我一直用codeproject上的那几个(C++ 100款开源界面库)
点击右上角即可分享
微信分享提示