CallBack.pas
上传用户:psxgmh
上传日期:2013-04-08
资源大小:15112k
文件大小:1k
源码类别:

Delphi/CppBuilder

开发平台:

Delphi

  1. unit CallBack;
  2. interface
  3. uses
  4.   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  5.   Dialogs, StdCtrls;
  6. type
  7.   EnumWindowsProcedure = function (Hwnd: THandle;Param: Pointer): Boolean; stdcall;
  8.   TForm1 = class(TForm)
  9.     ListBox1: TListBox;
  10.     Button1: TButton;
  11.     procedure Button1Click(Sender: TObject);
  12.   private
  13.     { Private declarations }
  14.   public
  15.     { Public declarations }
  16.   end;
  17. var
  18.   Form1: TForm1;
  19. implementation
  20. {$R *.dfm}
  21. function GetAllRuningWindowTitle(Hwnd: THandle; Param: Pointer): Boolean; stdcall;
  22. var
  23.   WindowCaptionText: string;
  24. begin
  25.   SetLength (WindowCaptionText, 100);
  26.   GetWindowText(Hwnd, PChar (WindowCaptionText), 100);
  27.   Form1.ListBox1.Items.Add ('句柄为'+IntToStr (Hwnd) + '的窗体的标题为:'+WindowCaptionText);
  28.   Result := True;
  29. end;
  30. procedure TForm1.Button1Click(Sender: TObject);
  31. var
  32.   MYEWProc: EnumWindowsProcedure;
  33. begin
  34.   ListBox1.Items.Clear;
  35.   MYEWProc := GetAllRuningWindowTitle;
  36.   EnumWindows(@MYEWProc, 0);
  37.   ShowMessage('当前系统中正在运行的窗体一共有:'+IntToStr(Listbox1.Items.Count)+'个.');
  38. end;
  39. end.