创建虚拟桌面的代码(重启桌面进程)(使用GetThreadDesktop,CreateDesktop,SetThreadDesktop等函数)
2024-10-19 02:27:07
在upk 里挖坟得来,有兴趣查查这几个函数...
- #include "windows.h"
- #pragma comment(lib,"user32.lib")
- int main()
- {
- STARTUPINFO si;
- PROCESS_INFORMATION pi;
- char DeskName[]="pp";
- HDESK hold = GetThreadDesktop(GetCurrentThreadId());
- HDESK hhdesk = CreateDesktop( DeskName, NULL, NULL, DF_ALLOWOTHERACCOUNTHOOK, GENERIC_ALL, NULL);
- SwitchDesktop( hhdesk);
- SetThreadDesktop( hhdesk);
- ZeroMemory( &si, sizeof(si) );
- si.cb = sizeof(si);
- si.lpDesktop = DeskName;
- ZeroMemory( π, sizeof(pi) );
- CreateProcess( NULL, "explorer", NULL, NULL, FALSE, 0, NULL, NULL, &si, π);
- Sleep(60000);
- SwitchDesktop( hold);
- CloseDesktop( hhdesk);
- }
http://blog.csdn.net/wangningyu/article/details/5179221
最新文章
- MySQL 数据库双向同步复制
- coredump
- Occlusion Culling
- Oracle数据库中scott用户不存在的解决方法
- ZMMR104-预留单批量删除及恢复
- HDU 5521 [图论][最短路][建图灵感]
- windows XP系统内核文件分析(全)
- Daily Scrum 11.12
- mysql 数据库还原出错ERROR:Unknown command '\' mysql中断
- PHP第七课 使用方法数组2
- Matplotlib 绘图 用法
- QML-关于Qt.rgba()颜色无法正常显示问题
- 键盘控制div移动并且解决停顿问题(原生js)
- hadoop HA集群搭建步骤
- 创建ros的程序包--3
- JSON.parse() 和 JSON.stringify() 的区别
- Struts 2 + Hibernate + Spring 整合要点
- ES6基本语法之let和const
- React错误总结(三)
- 使用div实现progress进度条