下你所需,载你所想!
汇集开发技术源码资料

创建虚拟桌面软件,让进程在指定桌面运行

:11.898KB :1 :2020-02-05 17:32:21

部分简介

b = SetThreadDesktop (g_hDesk) ' 设置当前线程工作桌面
SwitchDesktop (g_hDesk) ' 切换到虚拟桌面
检查 (b)
延时 (1000) ' 延时一点时间等待目标窗口创建完毕
hWnd = FindWindowExA (0, 0, 0, “Windows消息查询器(易语言版) V1.0”)
.判断开始 (hWnd = 0)
信息框 (“没有找到窗口”, 0, , )
.默认
信息框 (“找到窗口”, 0, , )
.判断结束
WaitForMultipleObjects (1, proc.hProcess, 假, #INFINITE) ' 等待目标进程结束
CloseHandle (proc.hProcess)
CloseHandle (proc.hThread)
SetThreadDesktop (g_hDeskOld) ' 设置当前线程工作桌面
SwitchDesktop (g_hDeskOld) ' 切换回原桌面

si.cbSize = sizeof_STARTUPINFO (si)
si.lpDesktop = #MYDESKTOP
si.wShowWindow = #SW_HIDE
si.dwFlags = #STARTF_USESHOWWINDOW
si.hStdError = 0
si.hStdInput = 0
si.hStdOutput = 0
file = “C:\Users\n\Desktop\cppDemo\CreateDesktop\1.exe”
path = 取文本左边 (file, 倒找文本 (file, “\”, , 假) - 1)
b = CreateProcessA (0, 取数据_通用型 (“explorer”), 0, 0, 0, 0, 0, 0, si, proc)
b = CreateProcessA (取数据_通用型 (file), 0, 0, 0, 1, 位或 (#CREATE_NEW_CONSOLE, #HIGH_PRIORITY_CLASS), 0, 取数据_通用型 (path), si, proc)
检查 (b)
CreateThread (0, 0, 到整数 (&thread_proc), 0, 0, 0) ' 设置工作桌面需要用没有UI的线程, 这里新创建一条线程来操作

创建虚拟桌面软件,让进程在指定桌面运行

热门推荐

相关文章