创建虚拟桌面的代码(重启桌面进程)(使用GetThreadDesktop,CreateDesktop,SetThreadDesktop等函数)
2016-10-03 06:33
1031 查看
在upk 里挖坟得来,有兴趣查查这几个函数...
[cpp] view plain copy
print?
#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
[cpp] view plain copy
print?
#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
相关文章推荐
- 创建虚拟桌面的代码(重启桌面进程)
- 创建虚拟桌面的代码(重启桌面进程)
- Sessions, Window Stations and Desktops(GetDesktopWindow函数得到的桌面句柄, 是Csrss.exe创建的一个窗口)
- Delphi的TService的輸入桌面切換(服务程序)(windows登录界面如何截图)(使用了OpenDesktop和GetThreadDesktop等API)
- Sessions, Window Stations and Desktops(GetDesktopWindow函数得到的桌面句柄, 是Csrss.exe创建的一个窗口)
- 函数调用缺少参数列表;请使用“&****Dlg::getThread”创建指向成员的指针”--多线程函数调用
- SetWindowsHookEx原理(如何使用钩子,使用钩子hook其他进程的函数)
- 用kernel_thread创建的内核进程,在内核中调用什么函数可以杀死这个进程
- PHP使用方法重载实现动态创建属性的get和set方法
- AfxBeginThread函数创建进程
- 猎豹MFC--进程和线程--创建线程AfxBeginThread() SetDlgItemInt()线程暂停继续终止
- 第3课 使用( Get...Set ) 函数
- 创建进程 fork()函数的基本使用 父子进程之间的关系
- Windows API一日一练(49)SetThreadPriority和GetThreadPriority函数
- [代码]使用函数构造创建XML树(LINQ to XML)
- C语言中settimeofday函数和gettimeofday函数的使用
- SetThreadAffinityMask 函数使用慎重
- 慎重使用Get/Set成员函数(一)问题的提出
- 慎重使用Get/Set成员函数(二)Set函数和其他修改函数的替代办法
- 第二讲实例变量可见度,set/get方法,自定义初始化(代码) 及description的使用