findwindow 怎么找同时有好几个窗口标题一样的程序了

ankydnky 2007-06-24 11:15:29
比如同一个程序运行了好多个,标题名也是一样的,用findwindow想得到第三个窗口的句柄要怎么做了
...全文
610 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
ankydnky 2007-06-24
  • 打赏
  • 举报
回复
function EnumWindowsFunc(Handle: THandle; List: TStringList) list 控件改成listbox 这边要怎么声明??
ankydnky 2007-06-24
  • 打赏
  • 举报
回复
hongqi162(失踪的月亮)
运行了你的程序,我的窗口名都变成about 比如现在有个标题为'text'的程序运行了三个,我只想得到第二个程序的句柄要怎么做了
hongqi162 2007-06-24
  • 打赏
  • 举报
回复
unit Unit1;

interface

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

type
TForm1 = class(TForm)
Button1: TButton;
Memo1: TMemo;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
function EnumWindowsFunc(Handle: THandle; List: TStringList) : boolean ; stdcall;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
begin
Memo1.Clear;
EnumWindows(@EnumWindowsFunc, LParam(Memo1.Lines));
end;

function EnumWindowsFunc(Handle: THandle; List: TStringList) : boolean ; stdcall;
var Caption: array[0..256] of Char;
begin
if GetWindowText
(Handle, Caption, SizeOf(Caption)-1) <> 0 then
begin
List.Add(Caption);
SetWindowText(Handle, PChar('About - ' + Caption));
end;

Result :=True;
end;


end.
Avoid 2007-06-24
  • 打赏
  • 举报
回复
枚举窗口EnumWindows
hongqi162 2007-06-24
  • 打赏
  • 举报
回复
EnumWindows

16,747

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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