如何在指定桌面上启动进程,以启动SpyXX为例:
HANDLE hDesk0 = ::OpenDesktop( "default" , 0, 0, GENERIC_ALL);
HANDLE hDesk = ::OpenDesktop( "ANOTHER_DESKTOP" ,0,0,GENERIC_ALL);
if (hDesk == NULL ) {
hDesk = ::CreateDesktop( "ANOTHER_DESKTOP" ,NULL,NULL,0,GENERIC_ALL,NULL);
}
else
{
::CloseDesktop(hDesk);
}
STARTUPINFO si;
ZeroMemory(&si, sizeof (STARTUPINFO));
si.cb = sizeof (STARTUPINFO);
si.lpDesktop = _T( "ANOTHER_DESKTOP" );
PROCESS_INFORMATION pi;
ZeroMemory(&pi, sizeof (PROCESS_INFORMATION));
::CreateProcess( "C://Program Files//Microsoft Visual Studio//Common//Tools//SPYXX.EXE" ,
NULL,
NULL,
NULL,
FALSE,
0,
NULL,
"C://Program Files//Microsoft Visual Studio//Common//Tools" ,
&si,
&pi);


发布评论