Einzelnen Beitrag anzeigen

mdogg

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

Re: Aus einer anderen Anwedung lesen.

  Alt 22. Jan 2008, 16: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