1。日期跟你的系统日期设置有关系,比如是yy/mm/dd ,还是dd/mm/yy,这样你取他的前六位就没什么意义了?不是么?所以建议你先用yearof,monthof,dayof (uses DateUtils)这些函数取得你想要的日期格式,然后自己拼装起来2。这个是取得计算器上的计算结果的例子看看 var Handle, ChildHandle: HWND; clsName: pchar; text:array[0..255] of char; begin getmem(clsName, 255); Handle := FindWindow(pchar('SciCalc'), nil); if Handle <> 0 then begin ChildHandle := GetWindow(Handle, GW_Child); while ChildHandle <> 0 do begin GetClassName(ChildHandle, clsName, 255); //showmessage(clsName); if string(clsName) = 'Static' then begin getwindowtext(ChildHandle,text,255); showmessage(text); end; ChildHandle := GetWindow(ChildHandle, GW_HWNDNEXT); end; end; freemem(clsName, 255); end;
2、用消息转发器
var
Handle, ChildHandle: HWND;
clsName: pchar;
text:array[0..255] of char;
begin
getmem(clsName, 255);
Handle := FindWindow(pchar('SciCalc'), nil);
if Handle <> 0 then
begin
ChildHandle := GetWindow(Handle, GW_Child);
while ChildHandle <> 0 do
begin
GetClassName(ChildHandle, clsName, 255);
//showmessage(clsName);
if string(clsName) = 'Static' then
begin
getwindowtext(ChildHandle,text,255);
showmessage(text);
end;
ChildHandle := GetWindow(ChildHandle, GW_HWNDNEXT);
end;
end;
freemem(clsName, 255);
end;
2.用findwindowex找到句柄