DOBON.NET DOBON.NETプログラミング掲示板過去ログ

他プロセスのベースアドレス取得

環境/言語:[vb.net NET Framework4]
分類:[.NET]

他プロセスで使用されているモジュールのベースアドレスが取得したいです。

以下では対象を起動してモジュールのベースアドレスを取得しています。
しかし、既に起動されているプロセスに対して、
モジュールのベースアドレスを取得するにはどうすれば良いでしょうか?

'--------------------------------------------------------------------------
'例えば電卓を起動
Dim プロセス As New Process()
Dim 開始情報 As New ProcessStartInfo("calc.exe")

プロセス.StartInfo = 開始情報
プロセス.Start()


Dim コレクション As ProcessModuleCollection = プロセス.Modules

For Each モジュール As ProcessModule In コレクション
MessageBox.Show(モジュール.ModuleName, モジュール.BaseAddress.ToString("X"))
Next
'--------------------------------------------------------------------------


現在は、「CreateToolhelp32Snapshot」でスナップを撮って、
「MODULEENTRY32構造体」からモジュールのベースアドレスを取得しています。
たしかに目的は達成されますが遠回りしている気がしてなりません。
どうぞ宜しくお願いいたします。
自己解決しました。
散々騒いで申し訳ありませんでしたm(__)m

For Each モジュール As ProcessModule In Process.GetProcessesByName(対象)(0).Modules
MessageBox.Show(モジュール.FileName, モジュール.BaseAddress.ToString("X"))
Next
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板