DelphiのIDEが持ってる
表示→デバッグ→モジュール
と同じ事を配布先の環境で行いたいのですが
ご教授いただけますか?
簡単に言うと自前の部分とそうでない部分も含めた
何がLoadされてるか等もふくめて?
全てのModuleがどのPathからLoadされてるのか
を知りたいと言う事です。よろしくお願いします
> 全てのModuleがどのPathからLoadされてるのかを知りたいと言う事です。
わたしの Win2k では以下でうまくいくようです。
uses
TLHelp32;
procedure TForm1.Button1Click(Sender: TObject);
var
hModuleSnap:THandle;
Me32:TModuleEntry32;
begin
hModuleSnap := CreateToolHelp32Snapshot(TH32CS_SNAPMODULE,0);
if hModuleSnap = INVALID_HANDLE_VALUE then exit;
Me32.dwSize := SizeOf(TModuleEntry32);
if Module32First(hModuleSnap,Me32) then
repeat
Memo1.Lines.Add(string(Me32.szExePath));
until not Module32Next(hModuleSnap,Me32);
CloseHandle(hModuleSnap);
end;
横レス質問失礼します。。
PSAPIってDLLとUnitありますよね?
あれって↑でjokさんの方法?Kernelから来てるんでしょうか?
Kernel32.dllのバージョンによってExportされてないとか?
そうでないなら?PSAPIでも似た様な事はできたと思います。
もし駄目でしたら
systemのUnitの中にもEnumModuleみたいな関数があります
使った事無いのでいいのか解りませんが?試してみてはいかがでしょう?
> PSAPIでも似た様な事はできたと思います。
そうです。でも Win9X 系では使えません。
ツイート | ![]() |