こんにちは。環境は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を取得したいもので。
ListBox1.Items.Add("プロセス名: " + p.Id.ToString)
とか
ListBox1.Items.Add("プロセス名: " & p.Id)
とか
ListBox1.Items.Add("プロセス名: " & p.Id.ToString)
とか。一番下が間違いを起こしにくいとは思います。
# もっとも、.NETはほとんど使ってないので、もっと良い表記があるかも知れません。
# そのときはツッコミを入れておいてください。
K.J.K. さんの回答+
1、Option Strict On を入れる。
2、Catchに例外を表示させる。
3、ここはVB2〜VB6専用なので、ほかに投稿する。
ありがとうございます。
ToStringを使うことによって解決できました