AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Aus einer anderen Anwedung lesen.
Thema durchsuchen
Ansicht
Themen-Optionen

Aus einer anderen Anwedung lesen.

Ein Thema von mdogg · begonnen am 21. Jan 2008 · letzter Beitrag vom 22. Jan 2008
Antwort Antwort
Seite 3 von 3     123   
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#21

Re: Aus einer anderen Anwedung lesen.

  Alt 22. Jan 2008, 17:23
[quote="mdogg"]
Zitat von toms:
Dabei geht es um die eine Statusbar innerhalb von Visual C++ Express. Ich möchte per Timer überwachen wann dort 'Erstellen erfolgreich' steht.
Der Statusbartext steht im Visual C++ Express nicht im Control msctls_statusbar32
sondern im VsStatusBar

Struktur der Fenster (Winspy)

Zitat:
7864848: wndclass_desked_gsk "Test - Visual C++ 2005 Express Edition"
8848014: VsStatusBar "Bereit Z 8 S 29 Zei 26 EINFG"
5898866: msctls_statusbar32
Code zum Ermitteln des Statusbartextes:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  wnd: HWND;
  StatusBarText: array[0..$FFF] of Char;
begin
  wnd := FindWindow('wndclass_desked_gsk', nil);
  wnd := FindWindowEx(wnd, 0, 'VsStatusBar', nil);
  if wnd <> 0 then
  begin
    SendMessage(wnd, WM_GETTEXT, $FFF, Longint(@StatusBarText));
    Showmessage(StatusBarText);
  end;
end;
Thomas
  Mit Zitat antworten Zitat
mdogg

Registriert seit: 8. Okt 2007
13 Beiträge
 
#22

Re: Aus einer anderen Anwedung lesen.

  Alt 22. Jan 2008, 17:47
[quote="toms"]
Zitat von mdogg:
Zitat von toms:
Dabei geht es um die eine Statusbar innerhalb von Visual C++ Express. Ich möchte per Timer überwachen wann dort 'Erstellen erfolgreich' steht.
Der Statusbartext steht im Visual C++ Express nicht im Control msctls_statusbar32
sondern im VsStatusBar

Struktur der Fenster (Winspy)

Zitat:
7864848: wndclass_desked_gsk "Test - Visual C++ 2005 Express Edition"
8848014: VsStatusBar "Bereit Z 8 S 29 Zei 26 EINFG"
5898866: msctls_statusbar32
Code zum Ermitteln des Statusbartextes:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  wnd: HWND;
  StatusBarText: array[0..$FFF] of Char;
begin
  wnd := FindWindow('wndclass_desked_gsk', nil);
  wnd := FindWindowEx(wnd, 0, 'VsStatusBar', nil);
  if wnd <> 0 then
  begin
    SendMessage(wnd, WM_GETTEXT, $FFF, Longint(@StatusBarText));
    Showmessage(StatusBarText);
  end;
end;
Wunderbar!! Bleibt nur noch eine Frage:
Wo soll ich deinen Tempel hinbauen?


Ich glaube einfacher kann man die Sache nicht lösen!!
Danke an Alle die Zeit und Nerven geopfert haben. Besonderen Dank an toms für die schlanke, elegante Lösung und besonderen Dank an bitsetter, der wohl am meisten unter mir zu "leiden" hatte...


@toms:
Bist du gewillt mir noch die eine oder andere frage zum Verständnis per PM zu beantworten?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


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 00:31 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