-2

WMI を使用して実行中のサービスのプロセスを取得しようとしています。しかし、私はWMIの使い方について混乱しています。

この方法を使用するとうまくいくと思います http://msdn.microsoft.com/en-us/library/system.serviceprocess.servicecontroller.servicename%28v=vs.71%29

しかし、これを使用するために WMI をセットアップする方法がわかりません。

これを行う必要があることはわかっていますが、そこからどこに行くべきかわかりません

 HRESULT hres(CoInitializeEx(NULL, COINIT_MULTITHREADED));
     // Set general COM security levels
hres = CoInitializeSecurity(
    NULL,
    -1,                             // COM authentication
    NULL,                           // Authentication services
    NULL,                           // Reserved
    RPC_C_AUTHN_LEVEL_DEFAULT,      // Default authentication
    RPC_C_IMP_LEVEL_IMPERSONATE,    // Default Impersonation
    NULL,                           // Authentication Info
    EOAC_NONE,                      // Additional capabiliteis
    NULL                            // Reserved
    );
4

1 に答える 1

0

EnumServicesStatusExは、(とりわけ) すべてのアクティブなサービスの ProcessId を提供します。それを現在のプロセスの ID と比較して、一致するものを見つけます。ProcessID とともに、サービスごとに 2 つの名前 (サービス名と表示名) を取得します。どちらが必要かはわかりませんが、おそらく 2 つのうちの 1 つです。

于 2012-07-18T23:28:28.880 に答える