(Gast)
n/a Beiträge
|
Re: Position einer Progressbar aus fremder Anwendung auslese
23. Okt 2005, 19:57
Okay. Soweit so gut. Leider erhalte ich als Ausgabe eine sehr verwirrende Zeichenkombination.
Was mache ich falsch?
Code:
function TextUebergeben: string;
var
hMemo, hHandleDesFensters : HWND;
Text : pchar;
len: Integer;
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]));
result := String(Text);
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;
|
|
Zitat
|