プロセスIDに限って出力できないのですが・・・

解決


 2008-11-11 18:21:02  No: 101278  IP: 192.*.*.*

こんにちは。環境はVB.NET 2003です。

現在実行中のプロセスをすべて取得し、リストボックスに追加していきたいのですが、どうもIdを出力しようとすると空欄のまま何も出ないままです。

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        ListBox1.Items.Clear()
        'ローカルコンピュータ上で実行されているすべてのプロセスを取得
        Dim allp As System.Diagnostics.Process() = _
            System.Diagnostics.Process.GetProcesses()
        '配列から1つずつ取り出す
        Dim p As System.Diagnostics.Process
        For Each p In allp
            Try
                'プロセス名を出力する
                ListBox1.Items.Add("プロセス名: " + p.Id)
            Catch
            End Try
        Next p
    End Sub



ListBox1.Items.Add("プロセス名: " + p.ProcessName)とするとうまくいくんですが、解決策はありませんか?できればIdを取得したいもので。

編集 削除
K.J.K.  2008-11-11 19:15:17  No: 101279  IP: 192.*.*.*

ListBox1.Items.Add("プロセス名: " + p.Id.ToString)
とか
ListBox1.Items.Add("プロセス名: " & p.Id)
とか
ListBox1.Items.Add("プロセス名: " & p.Id.ToString)
とか。一番下が間違いを起こしにくいとは思います。
# もっとも、.NETはほとんど使ってないので、もっと良い表記があるかも知れません。
# そのときはツッコミを入れておいてください。

編集 削除
我龍院  2008-11-11 20:28:17  No: 101280  IP: 192.*.*.*

K.J.K. さんの回答+
1、Option Strict On  を入れる。
2、Catchに例外を表示させる。
3、ここはVB2〜VB6専用なので、ほかに投稿する。

編集 削除
R  2008-11-12 04:59:26  No: 101281  IP: 192.*.*.*

ありがとうございます。
ToStringを使うことによって解決できました

編集 削除