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

解決


  2008-11-12 03:21:02  No: 101278

こんにちは。環境は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-12 04:15:17  No: 101279

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


我龍院  2008-11-12 05:28:17  No: 101280

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


R  2008-11-12 13:59:26  No: 101281

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


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加