Einzelnen Beitrag anzeigen

Van HelF

Registriert seit: 24. Okt 2005
Ort: Karlsbrunn
195 Beiträge
 
Delphi 7 Personal
 
#17

Re: Position einer Progressbar aus fremder Anwendung auslese

  Alt 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;
  Mit Zitat antworten Zitat