关于EnumWindowsr的问题

cdchq 2014-10-14 05:53:21
写了一段代码,目的是寻找所有窗口中,窗口标题为"MYAPP"的窗口,如下
function EnumWindowsMYAPP(Handle:HWND;lParam:LPARAM):Boolean;stdcall;
var
Caption:array[0..254] of Char;
begin
if GetWindowText(Handle,Caption,SizeOf(Caption))<>0 then
begin
if (Caption='MYAPP') and (Handle<>FrmMain.Handle) then
if CreateAppHandleList.IndexOf(IntToStr(Handle))=-1 then
CreateAppHandleList.Add(IntToStr(Handle));
end;
Result:=True;
end;
CreateAppHandleList是一个TStringList全局变量
然后在程序开始时执行
procedure TFrmMain.FormCreate(Sender: TObject);
begin
CreateAppHandleList:=TStringList.Create;
EnumWindows(@EnumWindowsMYAPP,0);
end;

问题是:只开了一个MYAPP,但以上代码会得到两个MYAPP的句柄
...全文
60 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
s11ss 2014-10-14
  • 打赏
  • 举报
回复
另一个是Application窗口,设置Application.Title:='abc'试试

1,183

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧