Q&A

  • enumwindows로 윈도우리스트를 구하려는데 머가 잘못된거죠??
아래 소스는 팁/테크에서 복사해온건데요.
일단 테스트해볼려고.. 델7버전에서 실행하면 에러없느 실행은 되는데
버튼을 눌렀을때 리스트박스에 반응이없네요..
소스대로라면 윈도의 캡션명을 쭉 리스트박스에 추가해줘야할텐데..머가 잘못된거죠??


unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;

type
TForm1 = class(TForm)
    ListBox1: TListBox;
    Button1: TButton;

procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

function EnumWinProc(Wnd : HWND; frm : TForm1) : Boolean; Export; {$IFDEF
Win32}StdCall;{$ENDIF}
var
WinText : Array[0..255] of Char;
begin
GetWindowText(Wnd, WinText, 255);
Result := True;
if (StrPas(WinText) <> '') then
  frm.ListBox1.Items.Add(StrPas(WinText));
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
enumwindows(@EnumWinProc, longint(Self));
end;

end.

0  COMMENTS