を使用してwindows service
アプリケーションを作成しました。関数内で、本体に次のコードが含まれる別の関数を呼び出します: :C++
Visual Studio 2013
main()
SERVICE_TABLE_ENTRY SerTable[] =
{
{ const_cast<char *>(ServiceName.c_str()), (LPSERVICE_MAIN_FUNCTION)ServiceMain },
{ NULL, NULL }
};
int res = StartServiceCtrlDispatcher(SerTable);
if (res == 0)
{
DEBUG_LOG(ServiceName+":StartServiceCtrlDispatcher failed", GetLastError());
return QERROR;
}
私の main() 関数にも含まれていますsystem("start notepad");
プログラムを正常にビルドでき、実行可能ファイルが生成されます。OpenSCManager()
今、私は、を使用して別のプログラムからこのexeを開こうとしていCreateService()
ます. これにより、サービスが作成され、下に一覧表示されServices.msc
ます。右クリックしてサービスを開始すると、 のように表示status
されstarted
ます。しかし、何も起こりません..
my をダブルクリックすると、次exe
のメッセージが表示され、error 1063: StartServiceControldispatcher Failed
メモ帳が開きます。
でサービスを起動するとメモ帳が開かないのはなぜServices.msc
ですか?