关于在服务程序中调用createprocess创建进程的问题
本人欲在服务程序中调用其他进程,由于被创建的进程需要显示在桌面上,因此我的代码如下
STARTUPINFO si;
PROCESS_INFORMATION pi;
ZeroMemory( &si, sizeof(si) );
ZeroMemory( &pi, sizeof(pi) );
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 = STARTF_USESHOWWINDOW;
si.wShowWindow = SW_SHOWNORMAL;
si.lpReserved2 = NULL;
si.cbReserved2 = 0;
::CreateProcess(lpApplicationName, NULL,
NULL, NULL, FALSE, 0, NULL, curDir, &si, &pi)
结果出现了以下问题:如果被启动程序是MFC程序,被启动程序就会弹出runtime error对话框而无法继续运行,如果不是mfc程序则没有任何问题(包括delphi窗体应用程序等)。另外同样的代码在不是服务程序中调用,也不会发生任何问题。请各位高手指教