| |
|
|
- page 1 - |
|
Nico Madysa | je ne sais pas so droite, woran es liegt, mais depuis Kruzem spinnen qui Funktionen zum trouver de Windows. FindWindow() schmiert ab, si ne...aucune la fenêtre trop qui masque passt. AddWindows klappt garnicht. (pouvoir beim Verwenden den Adler) Liegt cela à XProfan10 ou bien plutôt à ME? |
|
|
| |
|
|
|
| |
|
- page 2 - |
|
| Dürfte cela selbe Problem son. |
|
|
| |
|
|
|
Nico Madysa | Suppi, alors ist que voici qui/qui/cela Walk-Around: KompilierenMarqueSéparation $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
ou bien? |
|
|
| |
|
|
| |
|
- page 3 - |
|
|
| allô Nico...
Nö, je crois pas. cela Problem pourrait chez SendMessage(IPar1%, ~wm_GetText, 32767, Addr(C2$)) liegen.
Nochmals.. suis là ne...aucune Experte, habe mais im Augenblick folgenden impression: Manche la fenêtre, u.a. unsichtbare et unlistbare Systemfenster sous XP (et wohl aussi sous ME) verarbeiten qui Message WM_GETTEXT pas richtig. Sendet on une Message mittels SendMessage, wartet cela Programme sur une Antwort de qui WNDProc des angesprochenen Fensters. venez cet pas, wartet @SendMessage ewig -> Programme stürzt ab. Verwedet on SendMessageTimeOut wartet cet API une gewisse Zeit et bricht ensuite den Vorgang ab => cela devrait ensuite aller et le son meinen Tests sous XP allez cela aussi.
Salut
Andreas |
|
|
| |
|
|
|
| ...qui la fenêtre qui je là sous XP mon, sommes qui la fenêtre avec den Handle direct sur %Desktop. cet la fenêtre volonté vom Prozess CSRSS.EXE erzeugt, et zwar vom selben Fil, qui aussi %Desktop erzeugt. qui Titel des une Fensters est Message, qui anderen la fenêtre sommes Kindfenster cet Fensters. Comme je le disais, là scheint irgendwas avec SendMessage schiefzulaufen, quoi wiederum avec SendMessageTimeOut funktioniert - et là liegt wohl aussi cela Problem avec FindWindow et AddWindows sous ME - kanns malheureusement pas testen, là mir ME fehlt. |
|
|
| |
|
|
|
| Demnach sollte Roland dedans seines FindWindow / addwindows besser SendMessageTimeOut verwenden...!? |
|
|
| |
|
|
|
| la fois versuchen, si cela besser allez mon je. chez mir klappts. |
|
|
| |
|
|
|
RGH | iF
Demnach sollte Roland dedans seines FindWindow / addwindows besser SendMessageTimeOut verwenden...!?
cela wäre dans qui acte une Maßname pour künftige XProfan-Versionen!
Salut 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 | je personnelle finde GetWindowText mais sinnvoller comme SendMessageTimeout. GetWindowText hat sous Windows ME toujours richtig funktioniert, aussi chez Windows, qui le son Taskmanager gar pas reagiert avons. SendMessageTimeout avec WM_GETTEXT hat chez reagierenden Windows zwar funktioniert, mais chez den Nichtreagierenden devrait on doch wohl plutôt länger attendre et bekäme peut-être. pas la fois un zuverlässiges Ergebnis... ou bien übersehe je ici quoi? Salut, 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 ▲ |
|
|
|
|
| allô Sebastian
non, richtig. Pour cette hat GetWindowText autre Nachteile. Deswegen
la fois versuchen, si cela besser allez mon je - cela GetWindowText toujours richtig funktioniert (dans Bezug sur Abstürze), peux je bestätigen. GetWindowText liefert mais chez manchen Windows ne...aucune Ergebnis, quoique un Fenstertext vorhanden ist.
malheureusement habe je ne...aucune ME et viens aussi seulement sporadisch la fois à XP ran, peux c'est pourquoi cette faute pas komplett nachvollziehen et pas testen, quoi là besser klappt.
Salut
Andreas |
|
|
| |
|
|
|
| Oha: GetWindowText cannot retrieve le text of a control dans another application [...]
...sendet alors aussi nurn SendMessage
et qui ici ist aussi pas mal: [...]
Erklärend? [...] |
|
|
| |
|
|
|
| |
|
| |
|
|
|
| quoi trop GetWindowText encore important wäre:
Si le target window is owned by le current process, GetWindowText causes a WM_GETTEXT message to être sent to le specified window or control. Si le target window is owned by another process and has a caption, GetWindowText retrieves le window caption text. Si le window does not have a caption, le return value is a zéro string. This behavior is by design. It allows applications to call GetWindowText without becoming unresponsive si le process that owns le target window is not responding. However, si le target window is not responding and il belongs to le calling application, GetWindowText veux cause le calling application to become unresponsive.
et que voici sollte on là aussi überdenken:
To retrieve le text of a control dans another process, send a WM_GETTEXT message directly instead of calling GetWindowText.
il y a très viele Arten, une Message trop senden. pourquoi devrait alle SendMessage appel? InSendMessage Poster un message SendMessageCallback SendMessageTimeout ... |
|
|
| |
|
|