AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Position einer Progressbar aus fremder Anwendung auslesen
Thema durchsuchen
Ansicht
Themen-Optionen

Position einer Progressbar aus fremder Anwendung auslesen

Ein Thema von POSHxxx · begonnen am 23. Okt 2005 · letzter Beitrag vom 23. Apr 2006
Antwort Antwort
Seite 2 von 3     12 3      
Van HelF

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

Re: Position einer Progressbar aus fremder Anwendung auslese

  Alt 24. Okt 2005, 14:35
Ok, funktioniert auch (aber etwas anders : SendMessage(hMemo, PBM_GETRANGE, 0, 0))
ist es möglich die restzeit auszulesen
und das kopieren fenster unsichtbar zu machen, sodass man nur noch den eigenen fortschrittsbalken hat ?
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#12

Re: Position einer Progressbar aus fremder Anwendung auslese

  Alt 24. Okt 2005, 16:10
Was hast du eigentlich vor?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Rastaman
Rastaman

Registriert seit: 6. Jan 2005
Ort: Lübbecke
575 Beiträge
 
Turbo C++
 
#13

Re: Position einer Progressbar aus fremder Anwendung auslese

  Alt 24. Okt 2005, 16:11
Den Kopieren-Dialog von Windows finden, Progressbarstatus und Restzeit auslesen, ihn unsichtbar machen und halt alles in einem eigenen Programm anzeigen, soweit ich das verstanden habe
Chuck Norris has counted to infinity ... twice!
  Mit Zitat antworten Zitat
Van HelF

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

Re: Position einer Progressbar aus fremder Anwendung auslese

  Alt 24. Okt 2005, 16:29
@Rastaman : Ganz genau
  Mit Zitat antworten Zitat
NicoDE
(Gast)

n/a Beiträge
 
#15

Re: Position einer Progressbar aus fremder Anwendung auslese

  Alt 24. Okt 2005, 17:22
Zitat von Rastaman:
Den Kopieren-Dialog von Windows finden, Progressbarstatus und Restzeit auslesen, ihn unsichtbar machen und halt alles in einem eigenen Programm anzeigen, soweit ich das verstanden habe
Viel Spaß mit neuen Windows-Versionen...
(schon in der nächsten werden die Dialoge anders aussehen)
  Mit Zitat antworten Zitat
POSHxxx
(Gast)

n/a Beiträge
 
#16

Re: Position einer Progressbar aus fremder Anwendung auslese

  Alt 24. Okt 2005, 19:36
Nur zum besseren Verständnis:

Ich will auf die Position einer Progressbar zugereifen, um bei umfangreichen Aktionen in regelmäßigen Abständen per Sprachausgabe den Fortschritt ausgeben zu lassen.

Danke für eure Hilfe!
  Mit Zitat antworten Zitat
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
Van HelF

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

Re: Position einer Progressbar aus fremder Anwendung auslese

  Alt 24. Okt 2005, 21:14
Aber wieder zur frage :
Den Kopieren-Dialog von Windows finden, Progressbarstatus (soweit erledigt) und Restzeit auslesen, ihn unsichtbar machen und halt alles in einem eigenen Programm anzeigen

hat jemand eine ahnung wie man das realisieren könnte ?
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#19

Re: Position einer Progressbar aus fremder Anwendung auslese

  Alt 24. Okt 2005, 21:18
@Helf: Du hast doch selbst mit dem Source den Ansatz gepostet. Du hast das Handle vom Dialog, du hast das Handle von der Progressbar, du weißt wie man die Position und das Max abfragt, jetzt brauchst du nur noch mit ShowWindow den Dialog ausblenden.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Van HelF

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

Re: Position einer Progressbar aus fremder Anwendung auslese

  Alt 24. Okt 2005, 21:34
Vielen dank für den tipp, hat nach ein bisschen suche im forum funktioniert
ShowWindow(hHandleDesFensters,SW_HIDE); Nur jetzt hätte ich noch 2 fragen, wie lese ich die restzeit aus, und wie kann ich in dem jetzt unsichtbaren kopieren fenster den abbrechen button drücken, wenn das überhaupt dann noch möglich ist?!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:23 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz