![]() |
FensterText per ProcessID bekommen?
Hi,
kurze und schnelle Frage: WIe kann ich per WinAPI den Text des Fensters einer Anwendung bekommen deren ProcessID ich habe? Ich finde bei MSDN leider keine API. Danke im Vorraus für Hilfe MfG: sk0r |
Re: FensterText per ProcessID bekommen?
von der pid solltest du irgendwie zum hauptfenster kommen, und das handle des hauptfensters kann in GetWindowText(Len) packen.
|
Re: FensterText per ProcessID bekommen?
http://msdn2.microsoft.com/en-us/library/ms633520(VS.85).aspx
|
Re: FensterText per ProcessID bekommen?
GetWindowText() habe ich schon ausprobiert. MEin Ziel ist es,
dass eine injizierte DLL den Fenstertext des Zielprogrammes zu bekommen.
Code:
Die Eigene Anwendung hat doch immer die Nummer 0, oder?
procedure TForm1.FormCreate(Sender: TObject);
var myBuf: array[0..250] of Char; begin setlasterror(ERROR_SUCCESS); GetWindowText(0, myBuf, sizeof(myBuf)); showmessage(myBuf); showmessage(syserrormessage(getlasterror)); end; |
Re: FensterText per ProcessID bekommen?
nein, auch die eigene Anwendung hat nicht die 0
|
Re: FensterText per ProcessID bekommen?
Also GetWindowText kann nicht einfach so funktionieren, da es ja
selbst ein Handle als Parameter benötigt. Aber wie komme ich da drann? :/ |
Re: FensterText per ProcessID bekommen?
ähm, getcurrentprocess oder so ähnlich sollte dir die procid geben... und dann weiter wie in meinem ersten post ^^
|
Re: FensterText per ProcessID bekommen?
schon klar, aber wie komme ich denn an das fenster handle?^^
|
Re: FensterText per ProcessID bekommen?
aus der google-suche entnommen:
Zitat:
|
Re: FensterText per ProcessID bekommen?
Die meisten Prozeße werden mehrere Fenster haben. Schlimmer noch, dank der Tatsache, daß es sowas wie ein "Hauptfenster" nicht gibt (ein Prozeß kann da auch mehrere mit dem entsprechenden Fensterstil haben), mußt du wohl, wie schon erwähnt durch alle Fenster gehen und ermitteln ob das gewünschte dabei ist. Da wird wohl nur eine Kombination aus Text, Klasse und Stil (o.ä.) einen Erfolg bringen. Wenn du nur den Text ermittelst, kann das schiefgehen.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:40 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz