Delphi Tips 
-----------------------------

0213  D1   D2   D3   D4   D5   D6   D7   3.1   95   98    作成: 1999/08/23 西坂良幸 rev 1.1
   B1   B3   B4   B5   B6   B7   NT3   NT4   2K   XP  更新: 1999/08/23 西坂良幸 編集
プロセスの実行ファイル名を列挙する


  Tipsの別項、[Win95/98で、ウィンドゥハンドルから、実行アプリ名を知る]および、[WinNTで、ウィンドゥハンドルから、実行アプリ名を知る]の例にある
  EnumProcesses95、EnumProcessesNTを使えば
汎用関数のようなものができます。

同名の関数がありますので、OverrLoad指定を忘れないで下さい。

procedure EnumProcesses(lpEnumFunc: TEnumProcs; lParam: longint);overload
begin
  case Win32Platform of
   VER_PLATFORM_WIN32_NT: EnumProcessesNT(lpEnumFunc, lParam);
   VER_PLATFORM_WIN32_WINDOWS: EnumProcesses95(lpEnumFunc, lParam);
  else
   raise Exception.Create('未対応のOSかバージョンです。');
  end;
end;

// 以下の例は、リストボックスに列挙しています。
function CallBackTest(ID: DWord; Str: PChar; LP: LParam):bool;stdcall;
begin
  TListBox(LP).Items.Addobject(Str,Pointer(ID));
  Result := True;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  ListBox1.Items.Clear;
  EnumProcesses(@CallBackTest,Longint(ListBox1));
end;

参照: [Delphi-ML:30064] <その他Windows関連> <Windows>

[新規作成] [最新の情報に更新]

How To
Lounge
KeyWords


Tips
Delphi
Home
Osamu Takeuchi osamu@big.or.jp