| |
|
|
- Página 1 - |
|
Nico Madysa | Yo weiß no así bastante, woran lo liegt, aber seit Kruzem spinnen el Características para Finden de Fenstern. FindWindow() schmiert de, si kein Ventana a el Maske passt. AddWindows klappt garnicht. (macht beim Verwenden el Adler) Liegt el a XProfan10 oder más a ME? |
|
|
| |
|
|
|
| |
|
- Página 2 - |
|
| Dürfte el selbe Problema ser. |
|
|
| |
|
|
|
Nico Madysa | Suppi, also es el hier el/el/el Walk-Around: KompilierenMarcaSeparación $H windows.ph
$H messages.ph
Proc XAddWindow
Parameters C1$
declare IPar1%, C2$
C2$ = Space$(32767)
IPar1% = ~GetWindow(~GetDesktopWindow(), ~GW_Child)
IPar1% = ~GetWindow(IPar1%, ~GW_HWndFirst)
SendMessage(IPar1%, ~wm_GetText, 32767, Addr(C2$))
While (Left$(C2$, Len(C1$)) <> C1$) And (IPar1% <> 0)
IPar1% = ~GetWindow(IPar1%, ~GW_HWndNext)
SendMessage(IPar1%, ~wm_GetText, 32767, Addr(C2$))
AddString C2$
EndWhile
ENDPROC
Oder? |
|
|
| |
|
|
| |
|
- Página 3 - |
|
|
| ¡Hola Nico...
Nö, Yo glaube no. Das Problema dürfte en SendMessage(IPar1%, ~wm_GetText, 32767, Addr(C2$)) mentira.
Nochmals.. bin como kein Experte, habe aber en el Augenblick folgenden Eindruck: Manche Ventana, u.a. unsichtbare y unlistbare Systemfenster bajo XP (y wohl auch bajo ME) verarbeiten el Message WM_GETTEXT no correcto. Sendet uno una Message mittels SendMessage, wartet el Programa en una Antwort de el WNDProc des angesprochenen Fensters. Kommt esta no, wartet @SendMessage ewig -> Programa stürzt de. Verwedet uno SendMessageTimeOut wartet esta API una gewisse Tiempo y bricht entonces el Vorgang de => el müßte entonces ir y laut media Tests bajo XP va el auch.
Saludo
Andreas |
|
|
| |
|
|
|
| ...el Ventana el Yo como bajo XP mi, son el Ventana con el Handle direkt encima %Desktop. Diese Ventana voluntad vom Prozess CSRSS.EXE producido, y zwar vom selben Hilo, el auch %Desktop producido. Der Titel des una Fensters heißt Message, el otro Ventana son Kindfenster dieses Fensters. Como ya he dicho, como scheint algo con SendMessage schiefzulaufen, qué wiederum con SendMessageTimeOut funktioniert - y como liegt wohl auch el problema con FindWindow y AddWindows bajo ME - kanns por desgracia, no testen, como me ME fehlt. |
|
|
| |
|
|
|
| Demnach debería Roland innerhalb seines FindWindow / addwindows mejor SendMessageTimeOut uso...!? |
|
|
| |
|
|
|
| Tiempo versuchen, si el mejor va mi Yo. En me klappts. |
|
|
| |
|
|
|
RGH | IF
Demnach debería Roland innerhalb seines FindWindow / addwindows mejor SendMessageTimeOut uso...!?
Das wäre en el Tat una Maßname para künftige XProfan-Versionen!
Saludo Roland |
|
|
| Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 27.11.2006 ▲ |
|
|
|
|
Sebastian Sprenger | Yo persönlich finde GetWindowText aber sinnvoller como SendMessageTimeout. GetWindowText ha bajo Windows ME siempre correcto funktioniert, auch en Fenstern, el laut Taskmanager nada reagiert haben. SendMessageTimeout con WM_GETTEXT ha en reagierenden Fenstern zwar funktioniert, pero en el Nichtreagierenden debería uno doch wohl más länger warten y bekäme evtl. no veces una zuverlässiges Ergebnis... oder übersehe Yo hier qué? Saludo, Sebastian |
|
|
| Profan² 7.0e, XProfan 9, 11.2a, FreeProfan32 Windows Vista Home Premium 32-Bit, 2.8 Ghz, 4 GB RAM Windows Me, 1.8 Ghz, 256 MB RAM | 27.11.2006 ▲ |
|
|
|
|
| ¡Hola Sebastian
Nein, correcto. Dafür ha GetWindowText otro Nachteile. Deswegen
Tiempo versuchen, si el mejor va mi Yo - el GetWindowText siempre correcto funktioniert (en Bezug en Se bloquea), kann Yo bestätigen. GetWindowText liefert pero en manchen Fenstern kein Ergebnis, obwohl una Fenstertext disponible es.
Leider Yo kein ME y komme auch sólo sporadisch veces a XP ran, kann deshalb esta Fehler no komplett nachvollziehen y no testen, qué como mejor klappt.
Saludo
Andreas |
|
|
| |
|
|
|
| Oha: GetWindowText cannot retrieve the texto of a control en another application [...]
...envía also auch nurn SendMessage
y hier es auch no schlecht: [...]
Erklärend? [...] |
|
|
| |
|
|
|
| |
|
| |
|
|
|
| Was a GetWindowText todavía wichtig wäre:
If the target window is owned by the current process, GetWindowText causes a WM_GETTEXT mensaje to be sent to the specified window or control. If the target window is owned by another process and has a caption, GetWindowText retrieves the window caption texto. If the window does not have a caption, the volver value is a null cadena. This behavior is by design. It allows applications to call GetWindowText without becoming unresponsive if the process that owns the target window is not responding. However, if the target window is not responding and it belongs to the calling application, GetWindowText voluntad cause the calling application to become unresponsive.
Und que aquí debería uno como auch überdenken:
To retrieve the texto of a control en another process, send a WM_GETTEXT mensaje directly instead of calling GetWindowText.
Lo son muy viele Arten, una Message a senden. ¿Por qué debería todos SendMessage aufrufen? InSendMessage PostMessage SendMessageCallback SendMessageTimeout ... |
|
|
| |
|
|