yingfeng 发表于 2008-1-8 22:51:26

一个问题(GetWindowText函数)--已解决

求助一下:



procedure TForm1.Button1Click(Sender: TObject);
var
yf:THandle ;       //声明
a:Integer;
   b:pchar ;   //这里我换成array of char 问题正常
begin
yf:=FindWindow(nil,'计算器')   ;//找计算器
if yf<>0 then
begin
showmessage('发现目标') ;
a:=GetWindowTextLength(yf);   //得到标题长度
if a<>0 then
begin
ShowMessage('得到长度'+inttostr(a)) ;
GetWindowText(yf,b,a+1);
ShowMessage(b);//          
end
end
end;

end.






[ 本帖最后由 yingfeng 于 2008-4-11 08:21 编辑 ]

xingke 发表于 2008-1-10 22:15:28

你打开计算器再运行一下。

[ 本帖最后由 xingke 于 2008-1-10 22:23 编辑 ]

xingke 发表于 2008-1-10 22:22:44

首先打开 计算器 再运行程序


unit Unit1;

interface

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

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

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
yf:THandle ;       //声明
a:Integer;
   b:pchar ;
begin
yf:=FindWindow(nil,'计算器')   ;//找计算器
if yf<>0 then
begin
showmessage('发现目标') ;
a:=GetWindowTextLength(yf);   //得到标题长度
if a<>0 then
begin
ShowMessage('得到长度'+inttostr(a)) ;
GetWindowText(yf,b,a+1);
ShowMessage(b);//为何返回总是空值
end
end
end;

end.

sufeiyu 发表于 2008-1-15 15:31:35

完了完了 回去得补补课了 完全看不懂啊
private{ Private declarations }这个是声明私有变量吗
implementation

{$R *.dfm}这个又是什么
yf:=FindWindow(nil,'计算器')这个里面的nil不是nill的意思吧

xingke 发表于 2008-6-18 08:20:44

原帖由 sufeiyu 于 2008-1-15 15:31 发表 https://www.chinapyg.com/images/common/back.gif
完了完了 回去得补补课了 完全看不懂啊
private{ Private declarations }这个是声明私有变量吗
implementation

{$R *.dfm}这个又是什么
yf:=FindWindow(nil,'计算器')这个里面的nil不是nill的意思吧


建议看看基础教程
页: [1]
查看完整版本: 一个问题(GetWindowText函数)--已解决