を使用してwindows serviceアプリケーションを作成しました。関数内で、本体に次のコードが含まれる別の関数を呼び出します: :C++Visual Studio 2013main()
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ですか?