郁闷的问题,如何让服务程序创建的线程工作在前台

郁闷的问题,如何让服务程序创建的线程工作在前台

这两天在用C++做这样一个程序:
  用CreatService创建一个服务,然后让这个服务打开一个程序,我是这样做的.

BOOL StartServiceThread()
{


     DWORD id;
    hServiceThread 
= CreateThread(
    NULL,
    
0,
    (LPTHREAD_START_ROUTINE)ServiceExecutionThread,
    
0,
    
0,
    
&id);
    
    
if(hServiceThread == 0)//ÅжϠThread״̬
    {
        
return false;
    }
else{
        nServiceRunning 
= true;
        
return true;
    }

DWORD ServiceExecutionThread(LPDWORD param)
{
    
if(nServiceRunning)
    
{
    PROCESS_INFORMATION pi;
    STARTUPINFO si;
    ZeroMemory( 
&si, sizeof(si) );
    ZeroMemory( 
&pi, sizeof(pi) );
     si.cb 
= sizeof(STARTUPINFO);
    si.dwFlags 
= STARTF_USESHOWWINDOW;
    si.wShowWindow 
= SW_SHOW;
    LPCTSTR m_Process 
= "D:\\ServiceMgr.exe";

      CreateProcess(m_Process, NULL, NULL, NULL, FALSE, NORMAL_PRIORITY_CLASS, NULL, NULL, 
&si, &pi);

    }

    
return 0;
}
ServiceMgr.exe是执行在SYSTEM下面的,郁闷啊,不知道怎么样创建一个前台程序,而非后台...

你可能感兴趣的:(郁闷的问题,如何让服务程序创建的线程工作在前台)