![]() |
Re: Anfängerfrage: InternalGetWindowText verwenden
thx NicoDE,
google war und ist noch immer mein freund, aber gestern nach stundenlangem suchen konnte ich einfach nicht mehr :zwinker: Gute Nachricht: Bei mir klappts jetzt. Ich bin draufgekommen dass ich einfach alle Parameterwerte in den funktionen, die Long sind, auf Integer geändert habe, und auch die Rückgabewerte der Funktionen auf Integer. Also vorher hats so ausgesehn:
Code:
und jetzt bei mir siehts so aus:
Declare Function GetWindowText Lib "user32.dll" Alias "GetWindowTextA" (ByVal hWnd As Long, ByVal lpString As String, ByVal nMaxCount As Long) As Long
Code:
und siehe da, es funktioniert. Ich hoffe das hat keine schwerwiegenden Auswirkungen auf das System...
Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hwnd As Integer, ByVal lpString As String, ByVal cch As Integer) As Integer
|
Re: Anfängerfrage: InternalGetWindowText verwenden
Nur zur Information:
InternalGetWindowText() sendet im Gegensatz zu GetWindowText() keine WM_GETTEXT bzw WM_GETTEXTLENGTH messages, wenn das Fenster zum eigenen Prozess gehoert. Wenn man InternalGetWindowText() verwenden moechte sollte man aber konsequenterweise auch auf GetWindowTextLength() verzichten, da man die Laenge des Strings (in Zeichen!) auch mit InternalGetWindowText() bekommt, indem man die letzten beiden Parameter auf NULL/nil bzw 0 setzt. Bedenkt auch, dass InternalGetWindowText() nur als Unicode-Funktion implementiert ist! Die Laenge wie viele Bytes kopiert wurden oder wie lang der String ist, ist immer in Zeichen (Characters) angegeben, nicht in Bytes. Ein Zeichen in unicode hat 2 bytes, d.h. man muss also doppelt so viel Speicher reservieren. Ich bezweifle mal sehr, dass VB mit Unicode vernuenftig umgehen kann, deshalb ist GetWindowText()/GetWindowTextLength() in VB wohl die bessere Wahl. |
Re: Anfängerfrage: InternalGetWindowText verwenden
danke w3seek....habe InternalGetWindowText schon probier aber es funkt net - fehlermeldung "Objektverweis wurde nicht auf eine Objektinstanz festgelegt" ....ist der grund das was du beschrieben hast?
|
Re: Anfängerfrage: InternalGetWindowText verwenden
ups....mit grosser verwunderung stell ich fest das man mit GetWindowText ja eigentlich nur die Titelleiste des Fenster auslesen kann! Sch* :wall: das brauch ich ja gar nicht!
... :wiejetzt: ... Was ich wollte ist grundsätzlich mal den Inhalt eines Fensters (konkret: den eines Internet Explorers) auslesen, und zwar nicht den HTML-Quellcode sondern den effektiv angezeigten Text! jemand eine Ahnung wie ich das sonst machen könnte ausser mit GetWindowText oder überhaupt der Windows API? Bin auch bereit auf Delphi umzusteigen :coder: |
Re: Anfängerfrage: InternalGetWindowText verwenden
Moin Flotschie,
zum Thema Seiten auslesen, und ![]() So gesehen ist das Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:23 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