2008年03月17日

.NET環境下でプロセス一覧の取得

さて、遅ればせながら仕事で.NET環境に触れることになったわけだが、今まで持っていたWin32API関連の知識があまり役立たないことに驚いている。
とはいえ、Web上に情報がかなり多いので、そんなに困らないわけだが。
 
今回困っているのは、INIファイルの読み書き、Winsockの利用、プロセス一覧の取得、などだが、そのうちプロセス一覧の取得について、ざっとテストプログラムを書いてみたら思いのほかうまくいったので覚書。
 
なお、System.Management名前空間を利用しているので、参照の追加をしておく必要がある。
 VisuaStudio2005で、コンソールアプリケーションのプロジェクトを開始して、以下のようなコードを書いてみた。
 
Imports System.Management
Module Module1

    Sub Main()
        Dim ManagementScope As ManagementScope = New System.Management.ManagementScope
        ManagementScope.Connect()

        Dim Query As ObjectQuery = New ObjectQuery("select * from Win32_Process")
        Dim Searcher As ManagementObjectSearcher = New ManagementObjectSearcher(ManagementScope, Query)
        Dim collection As ManagementObjectCollection
        Dim pid As String
        Dim procname As String

        collection = Searcher.Get

        For Each Ob As ManagementObject In collection
            pid = Ob("ProcessId").ToString
            procname = Ob("Name").ToString

            Console.WriteLine(pid & " " & procname)

        Next
        Console.ReadLine()

    End Sub
End Module
VB自体がえらく久しぶりなので、構文的にお粗末なところがあるのは置いといて。
 
【VB.NETの最新記事】
posted by Tig3r at 17:07| Comment(0) | TrackBack(0) | VB.NET
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/12616983

この記事へのトラックバック