创建虚拟桌面的代码(重启桌面进程)(使用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

时间: 2024-10-13 11:38:13

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

一站式VDI部署教程(6)创建虚拟桌面集合

1)点击集合,然后在任务下拉菜单中,点击创建虚拟桌面集合 2)在创建集合向导中,点击下一步 3)输入集合名称,然后点击下一步 4)选择虚拟机集合池,然后点击下一步 5)选择虚拟机模板,然后点击下一步 6)选择"提供无人参与安装设置",然后点击下一步 7)选择正确的时区和组织单位,然后点击下一步. 8)选择有权限访问该集合的用户组,并填写创建多少个虚拟桌面. 9)点击下一步 10)填写上面创建共享的路径,然后点击下一步 11)填写用户配置文件磁盘的为止,这里我放在了同一个共享里,然后点击

Windows Server 2012 R2 VDI系列(四)—创建虚拟桌面集合

RDVH角色已经配置完成,接下来,我们可以尝试创建一个虚拟桌面的集合,来验证RDVH的配置 这里需要注意我们之前需要准备一个模板机作为创建虚拟机的模板,这台机器应该是打好补丁,并且做了sysprep的,这个过程我们就不在这里给大家演示了,我们直接来看创建虚拟桌面集合的过程 1.在服务器管理器->远程桌面服务->集合中,选择任务,点击创建虚拟桌面集合 2.直接下一步 3.输入虚拟桌面集合的名字,下一步 4.这里我们选择虚拟机集合池,或者选择个人虚拟机集合也可以 5.这里要注意我们需要选择之前做好

XENAPP 7.6 和 XENDESKTOP 7.6 初体验之五 创建虚拟桌面交付组

阅读全文 打开Citrix Studio,到"交付组"下,点击"创建交付组" : 选择刚才创建的计算机目录,以及刚才那两台计算机: 我们创建的计算机应该是用来部署"桌面"的: 给桌面虚拟机分配相应的用户: 默认配置,点击下一步:这边的配置其实是用来指定桌面里面的Receiver连接的StoreFront  Store: 命名这个"交付组"以及"显示名称": 创建完成.

sublime text 2学习(二):创建可复用的代码片段

对于前端工程师来讲,写一个html页面的基本结构是体力活,每次去拷贝一个也麻烦,sublime text 2 提供了一个很好的复用代码片段.下面介绍一下创建一个html5的代码片段的过程. 在菜单上点击Tools -> New Snippet,会新建一个xml文件页签: <snippet> <content><![CDATA[ Hello, ${1:this} is a ${2:snippet}. ]]></content> <!-- Optio

silverlight 的oob模式下,重启自身进程 killself

silverlight目前开发的应用,想做到系统内注销后自动重新启动下 sllauncher.exe ,实现方式是通过WMI的COM接口,获取到当前应用的执行命令行(CommandLine):并通过shell运行:代码如下: #region Using Section using System; using System.Collections.Generic; using System.Runtime.InteropServices.Automation; using System.Windo

Linux下进程的创建过程分析(_do_fork/do_fork详解)--Linux进程的管理与调度(八)

日期 内核版本 架构 作者 GitHub CSDN 2016-05-12 Linux-4.5 X86 & arm gatieme LinuxDeviceDrivers Linux进程管理与调度-之-进程的创建 参照 分析Linux内核创建一个新进程的过程 前言 Unix标准的复制进程的系统调用时fork(即分叉),但是Linux,BSD等操作系统并不止实现这一个,确切的说linux实现了三个,fork,vfork,clone(确切说vfork创造出来的是轻量级进程,也叫线程,是共享资源的进程)

jexus创建虚拟目录的方法

用MONO+Jexus来在Linux下跑asp.net,一直挺好的,但现在有一个问题,不知道怎么创建虚拟目录,翻了半天GG和官网也没找到相应的方法. 突然想起来,Linux下可以用软链接来创建指向一个目录的符号链接,于是觉得这个方法应该可行. 于是 ln /var/name /var/www/web/path 这样就在web目录创建了一个path的符号链接,指向/var/name目录,然后在浏览器中访问http://www.web.com/path OK,顺利搞定 最后又想到,jexus好像没有

Sublime Text 2创建可复用的代码片段

对于前端工程师来讲,写一个html页面的基本结构是体力活,每次去拷贝一个也麻烦,sublime text 2 提供了一个很好的复用代码片段.下面介绍一下创建一个html5的代码片段的过程.在菜单上点击Tools -> New Snippet,会新建一个xml文件页签: 1 <snippet> 2 <content><![CDATA[ 3 Hello, ${1:this} is a ${2:snippet}. 4 ]]></content> 5 <

使用SVN在桌面检出导致桌面图标左下角有加号(问号)

如下图的情况 解决方法:从c盘进去找到桌面文件夹,在工具里设置显示隐藏文件,将桌面文件夹里的.svn文件夹删除即可,如果不行重启电脑即可. 使用SVN在桌面检出导致桌面图标左下角有加号(问号)

sublime text 2学习(一):创建可复用的代码片段

对于前端工程师来讲,写一个html页面的基本结构是体力活,每次去拷贝一个也麻烦,sublime text 2 提供了一个很好的复用代码片段.下面介绍一下创建一个html5的代码片段的过程. 在菜单上点击Tools -> New Snippet,会新建一个xml文件页签: 1 <snippet> 2 <content><![CDATA[ 3 Hello, ${1:this} is a ${2:snippet}. 4 ]]></content> 5 <