Я пытаюсь создать процесс из службы в C ++. Этот новый процесс создается как дочерний процесс. Я хочу создать независимый процесс, а не дочерний процесс ...
Я использую функцию CreateProcess для того же. Поскольку новый процесс, который я создаю, является дочерним процессом, когда я пытаюсь уничтожить дерево процессов на уровне сервиса, он также убивает дочерний процесс ... Я не хочу, чтобы это произошло. Я хочу, чтобы новый процесс был создан независимо от службы.
Пожалуйста, совет по тому же ..
Спасибо ..
Код
STARTUPINFO si;
PROCESS_INFORMATION pi;
ZeroMemory( &si, sizeof(si) );
si.cb = sizeof(si); // Start the child process.
ZeroMemory( &pi, sizeof(pi) );
si.dwFlags = STARTF_USESHOWWINDOW;
if(bRunOnWinLogonDesktop)
{
if(csDesktopName.empty())
si.lpDesktop = _T("winsta0\\default");
else
_tcscpy(si.lpDesktop, csDesktopName.c_str());
}
if(bHide)
si.wShowWindow = SW_HIDE; /* maybe even SW_HIDE */
else
si.wShowWindow = SW_SHOW; /* maybe even SW_HIDE */
TCHAR szCmdLine[512];
_tcscpy(szCmdLine, csCmdLine.c_str());
if( !CreateProcess( NULL,
szCmdLine,
NULL,
NULL,
FALSE,
CREATE_NEW_PROCESS_GROUP,
NULL,
NULL,
&si,
&pi ) )