EnumWindows函数为什么不能正确调用回调(50)

  • 主题发起人 主题发起人 xiaoseqq
  • 开始时间 开始时间
X

xiaoseqq

Unregistered / Unconfirmed
GUEST, unregistred user!
Function EnumWinProc(Wnd:HWND;lParam:DWORD) : Boolean; Export;StdCall;var WinText : Array[0..255] of Char; wh: HWND;begin GetWindowText(Wnd, WinText, 255); if(CheckIcesword(Wnd)) then begin ShowMessage('发现冰刃:'+strpas(WinText)); end; if(CheckWPE(Wnd)) then begin ShowMessage('发现WPE:'+strpas(WinText)); end;end;procedure TForm1.BitBtn1Click(Sender: TObject);begin EnumWindows(@EnumWinProc,0);end;EnumWindows函数为什么不能正确调用回调,正常的回调函数应该被重复调用(根据得到窗口的数量),现在只能被执行一次,也就意味我只能获取到一个窗口,哪个知道怎么解决这个问题的,帮下忙,先谢谢了
 
Function EnumWinProc(Wnd:HWND;lParam:DWORD) : Boolean; Export;StdCall;没有返回值,在最后加上 Result := True; 就可以了
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部