delphi 怎么获取相同窗体的句柄
我同一个应用程序启动多个,这些程序的窗体的类名和标题都相同,怎么加以区分。我写了一个程序只能够获取一个的,其他的就不能获取了,希望大家帮我一下,谢谢!最好能发我一个例子程...
我同一个应用程序启动多个,这些程序的窗体的类名和标题都相同,怎么加以区分。我写了一个程序只能够获取一个的,其他的就不能获取了,希望大家帮我一下,谢谢!最好能发我一个例子程序。 sfybdy@qq.com
展开
1个回答
展开全部
function _EnumWindowsProc(hwnd: HWND; lParam: LPARAM): Boolean; stdcall;
var
vCaption, vClassName: array [0..255] of char;
vText: String;
begin
GetWindowText(hwnd, vCaption, 255);
GetClassName(hwnd, vClassName, 255);
{
取出了CAPTION和CLASSNAME在此可做你自己的判断,如果是你自己的窗体就做什么事
}
vText := vCaption;
vText := vText+':';
vText := vText+vClassName;
if vCaption<>'' then
Form1.Memo1.Lines.Add(vText);
Result := True;
end;
procedure TForm1.btn3Click(Sender: TObject);
begin
EnumWindows(@_EnumWindowsProc, 0);
end;
帮人帮到底 例子已经发给你了.. 例如自己有空可多了解一下一些常用的API
var
vCaption, vClassName: array [0..255] of char;
vText: String;
begin
GetWindowText(hwnd, vCaption, 255);
GetClassName(hwnd, vClassName, 255);
{
取出了CAPTION和CLASSNAME在此可做你自己的判断,如果是你自己的窗体就做什么事
}
vText := vCaption;
vText := vText+':';
vText := vText+vClassName;
if vCaption<>'' then
Form1.Memo1.Lines.Add(vText);
Result := True;
end;
procedure TForm1.btn3Click(Sender: TObject);
begin
EnumWindows(@_EnumWindowsProc, 0);
end;
帮人帮到底 例子已经发给你了.. 例如自己有空可多了解一下一些常用的API
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询