本文共 769 字,大约阅读时间需要 2 分钟。
这两天在用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下面的,郁闷啊,不知道怎么样创建一个前台程序,而非后台... 转载地址:http://momjo.baihongyu.com/