在服务中启动带有界面的程序

//在服务中启动带有界面的程序。



BOOL RunProcess(LPCTSTR lpImage)

{

if(!lpImage)

{

return FALSE;

}

HANDLE hToken;



if(!GetTokenByName(hToken,_T("explorer.exe")))

{

return FALSE;

}

STARTUPINFO si;

PROCESS_INFORMATION pi;

ZeroMemory(&si, sizeof(STARTUPINFO));

si.cb= sizeof(STARTUPINFO);

si.lpDesktop =_T("winsta0//default");

BOOL bResult = CreateProcessAsUser(hToken,lpImage,NULL,NULL,NULL,FALSE,NORMAL_PRIORITY_CLASS,NULL,NULL,&si,&pi);

CloseHandle(hToken);

if(bResult)

{

OutputDebugString(_T("CreateProcessAsUser ok!/r/n"));

}

else

{

OutputDebugString(_T("CreateProcessAsUser false!/r/n"));

}

return bResult;

}

你可能感兴趣的:(null,Class)