Creating an Interactive Process
The following code fragment shows how a Win32 service process could use the
STARTUPINFO structure in a
CreateProcess call to create a process that has access to the user's interactive window
station and default desktop. A noninteractive Win32 service could use this
technique to interact with the logged on user. The new process could then use a named
pipe or some other means of interprocess communication to communicate with the
Win32 service.
To create an interactive process as shown in this example, a Win32 service
must be logged in to the LocalSystem account.
#include <windows.h>
STARTUPINFO si;
PROCESS_INFORMATION ProcessInformation;
si.cb = sizeof(STARTUPINFO);
si.lpReserved = NULL;
si.lpTitle = NULL;
si.lpDesktop = "WinSta0\\Default";
si.dwX = si.dwY = si.dwXSize = si.dwYSize = 0L;
si.dwFlags = 0;;
si.wShowWindow = SW_SHOW;
si.lpReserved2 = NULL;
si.cbReserved2 = 0;
if (CreateProcess(NULL, lpszCmdLine, NULL, NULL, FALSE,
0, NULL, NULL, &si, &ProcessInformation)) {
CloseHandle(ProcessInformation.hProcess);
CloseHandle(ProcessInformation.hThread);
}
- Software for developers
-
Delphi Components
.Net Components
Software for Android Developers
- More information resources
-
MegaDetailed.Net
Unix Manual Pages
Delphi Examples
- Databases for Amazon shops developers
-
Amazon Categories Database
Browse Nodes Database