[WMI] 自身のサービス名の取得方法

2011年1月20日

 故あって、サービスプログラム内で、自身のサービス名が欲しい状況が生まれたのですが、調べてもそんな事例が見つからず、かなり途方に暮れました。なのでメモ。

 結果としては、以下のコードでサービス名を取得するようにしました。

Dim pid = System.Diagnostics.Process.GetCurrentProcess.Id

Dim wmi As New System.Management.ManagementObjectSearcher()
wmi.Query.QueryString = "select name from Win32_Service where ProcessId = " & CStr(pid)
Dim n = wmi.Get()

Dim serviceName As String = n(0)("Name")

 まずプロセスIDをとって、それからWMIを使ってサービス情報を引っ張ることでなんとか実現。

 しかし自分のサービス名ってあまり取得するようなものではないのかな…それとも検索の仕方がまずいだけか…






カテゴリー: Program, VB.NET, WMI

Follow comments via the RSS Feed | Leave a comment | Trackback URL

1 Comment to "[WMI] 自身のサービス名の取得方法"

  1. オールトの雲

    [WMI] WMIのクエリー

     先のエントリーの WMI ですが、.NET系では、System.Management を参照設定することで、WQL という SQL ライクな問い合わせ言語で照会が出来る様でした。

コメントを投稿する

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)


«   »
 
Powered by Wordpress and MySQL. Theme by Shlomi Noach, openark.org