システムの Windows サービスを開始/停止する ac/c++ アプリケーションを作成しようとしています。
私のアプリケーションは、名前の間にスペースがないサービスに対しては正常に動作しますが、名前の間にスペースがあるサービス名に対しては応答しません。
以下は、サービスを開くために使用しているコマンドです。
SC_HANDLE serviceDbHandle = OpenSCManager(NULL,NULL,SC_MANAGER_ALL_ACCESS);
SC_HANDLE serviceHandle = OpenService(serviceDbHandle,
"My Service",
SC_MANAGER_ALL_ACCESS);
ここに"My Service"
- 2番目のパラメータがLPCSTR
あり、そのnull終端が問題を引き起こしています。
名前にスペースが含まれるサービスを開始/停止するにはどうすればよいですか - 手がかりや提案があれば役に立ちます。
XPマシンでVisual Studio 2005を使用しています。
ありがとう、
アニル