Registriert seit: 24. Okt 2005
Ort: Karlsbrunn
195 Beiträge
Delphi 7 Personal
|
Re: Position einer Progressbar aus fremder Anwendung auslese
24. Okt 2005, 20:04
Ich hoffe das hilft dir weiter, hab deinen soruke mal schnell etwas umgeschrieben.
Delphi-Quellcode:
procedure TextUebergeben(var max, len: integer);
var
hMemo, hHandleDesFensters : HWND;
Text : pchar;
begin
SetLastError(0);
hHandleDesFensters := FindWindow(nil, 'Kopieren...');
if hHandleDesfensters <> 0 then
begin
hMemo:= FindWindowEx(hHandleDesFensters, 0, 'msctls_progress32', nil);
if hMemo <> 0 then
begin
len := SendMessage(hMemo, PBM_GETPOS, 0, 0);
GetMem(Text, len+1);
try
try
SendMessage(hMemo, PBM_GETPOS, len+1, Integer(@Text[0]));//Position
max := SendMessage(hMemo, PBM_GETRANGE, 0, 0); //Maximalwert
except
on E: EOutOfMemory do Messagebox(form1.Handle, PChar(E.Message), 'Fehler', MB_ICONSTOP);
end;
finally
FreeMem(Text, len+1);
end;
end
else
Messagebox(form1.Handle, PChar(SysErrorMessage(GetLastError)), 'Fehler', MB_ICONSTOP);
end
else
Messagebox(form1.Handle, PChar(SysErrorMessage(GetLastError)), 'Fehler', MB_ICONSTOP);
end;
procedure TForm1.Button1Click(Sender: TObject);
var pos, max:integer;
begin
try
textuebergeben(max, pos);
showmessage(inttostr(pos)+'/'+inttostr(max));
except
end;
end;
|
|
Zitat
|