S
So jetzt hab ichs aber:
#include <vcl.h>
#pragma hdrstop
HANDLE OpenProc( TCHAR *CmdLine,TCHAR *Desktop)
{
DWORD dwExitCode;
STARTUPINFO si;
PROCESS_INFORMATION pi;
BOOL ProcCreated;
ZeroMemory(&si,sizeof(si));
si.cb = sizeof(si);
si.dwFlags = STARTF_USESHOWWINDOW;
si.wShowWindow = SW_SHOWMAXIMIZED;
ZeroMemory(&pi,sizeof(pi));
si.lpDesktop = Desktop;
ProcCreated =CreateProcess( NULL,CmdLine,NULL,NULL,FALSE,0,NULL,NULL,&si,&pi );
GetExitCodeProcess(pi.hProcess,&dwExitCode);
return pi.hProcess;
}
//---------------------------------------------------------------------------
void main ()
{
// Save original desktop
HWND hOriginalThread = GetThreadDesktop(GetCurrentThreadId());
HWND hOriginalInput = OpenInputDesktop(0, FALSE, DESKTOP_SWITCHDESKTOP);
// Create a new Desktop and switch to it
HWND hNewDesktop = CreateDesktop("NewDesktopName", NULL, NULL, 0, GENERIC_ALL, NULL);
SetThreadDesktop(hNewDesktop);
SwitchDesktop(hNewDesktop);
// Execute thread/process in the new desktop
OpenProc("D:\\Program Files\\Mozilla Firefox\\firefox.exe","NewDesktopName");
Sleep(10000);
// Restore original desktop
SwitchDesktop(hOriginalInput);
SetThreadDesktop(hOriginalThread);
// Close the Desktop
CloseDesktop(hNewDesktop);
}
Danke trotzdem.
LG
Sponky