他のプログラムのコマンドライン引数を取得する方法は?

解決


プリス  2009-07-03 06:26:28  No: 146045

VB2008を利用しています。
他のプロセスがどのようなコマンドラインで起動したか取得する方法はありますか?
ProcessWalkerというソフトでプロセスの詳細で見られる実行パラメータの
コマンドラインの項目が見られるのですが、
自分が作るソフトでも同じように他プロセスの引数を表示したいと思っています。
VB.NETでも可能なら解説サイトでもいいので教えてください。


オショウ  2009-07-03 06:41:00  No: 146046

探せば出てくるもんですネ〜

http://d.hatena.ne.jp/espresso3389/20080723/1216815501

あったので、ちょっとビックリ〜

以上。参考まで・・・


魔界の仮面弁士  2009-07-03 06:45:17  No: 146047

Win32_Process クラスの CommandLine プロパティを使う事が出来ます。
http://msdn.microsoft.com/en-us/library/aa394372.aspx

System.Management.DLL を参照しておいてください。
(Windows 98 や Windows 2000 では取得できません。XP 以降が必要です。)

Public Function GetCommandLines() As String()
    Dim l As New List(Of String)()
    Using m As New Management.ManagementClass("Win32_Process"), ps = m.GetInstances()
        For Each p In ps
            Dim s = CStr(p("CommandLine"))
            If s <> "" Then
                l.Add(s)
            End If
            p.Dispose()
        Next
    End Using
    Return l.ToArray()
End Function


プリス  2009-07-03 06:55:13  No: 146048

お二方ありがとうございました。
望むような動作が出来そうです。

しかし、探して簡単に出てきましたか…
私の探し方が甘かったみたいで申し訳ないです。


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

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






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