0

実行中のシステム上のすべての Windows サービスのインストール場所を取得できる Windows サービスを開発しています。レジストリから場所を取得しようとしましたが、そこにある名前は C# オブジェクトが返すものと一致しません。ガイドラインはありますか?

4

3 に答える 3

2

ServiceControllerを使用して、インストールされている各サービスを検索し、レジストリでパスを検索する傾向があります。

foreach (ServiceController c in ServiceController.GetServices())
{
     Console.WriteLine(c.DisplayName + " " + c.ServiceName);
}

実際、グーグルで検索したところ、非常によく似たソリューションを見つけました。

于 2012-06-27T06:08:06.487 に答える
0

すべてのWindowsサービスの情報を見つけるだけでよい場合は、Windowsサービスを開発しないでください。WMI(Windows Management Instrumentation)を使用する単純なソフトウェアを作成するだけです。WMIとサービスのリンクからアイデアが得られます。この例はVBスクリプトで記述されていますが、.NETでも同様のことができます。

于 2012-06-27T05:34:49.157 に答える
-3

まずあなたの考えが間違っています。異なる OS でのアクセスの問題につながります。Program files にインストールし、サービスとして登録する必要があります。

PSほとんどのWindowsサービスはSystem32フォルダーから実行されます

于 2012-06-27T05:18:27.630 に答える