Français
Forum

la fenêtre-Find-faute

 
- 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?
 
Nico Madysa
21.11.2006  
 



 
- page 2 -



GDL
allô Nico,

chez mir läufts aussi.

salut
Georg
 
Windows7 Xprofan 8,9,10 [...]  [...] 
25.11.2006  
 




Frank
Abbing
chez mir aussi.
la hâte peut-être quoi avec COM ou bien OLE pas dans Ordre? une qui Dlls
 
25.11.2006  
 



allez chez mir aussi Windows98 SE).
 
25.11.2006  
 




Sebastian
Sprenger
allô zusammen,
je hab qui Source dans diesem Fil maintenant zwar pas getestet, peux Nicos Probleme mais nachvollziehen. mon Programme dans Profan 7.0e avons sich früher sous Windows ME (et si je mich droite erinnere, aussi sous Windows 98) à cause de qui Profan-Funktion FindWindow aussi aufgehängt. Inzwischen hab je vous par qui API-Funktion ersetzt, seitdem passierte es dans denselben Programmen nie wieder.

justement plan J'ai eu nochmal un Testprogramm avec FindWindow et AddWindows geschrieben et jeweils im Interpreter et dans qui Runtime de Profan 5.0 et Profan 7.0e gestartet. Hat sich aussi wieder alles aufgehängt. Pour einem Neustart de Windows ME funktionierte es correcte et je konnte après aucun Abstürze plus reproduzieren.

Programmcode scheint incidemment völlig égal trop son, es passierte comment dit déjà dans meinen fertigen Programmen (pas sous 500 Zeilen) sowie dans sinnfreien Einzeilern (alors sans Variablen ou bien irgendwelche Ausgaben).

sous Windows XP dagegen funktionierte alles toujours.
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
25.11.2006  
 



comment oui c'est ca sieht cela Aufhängen aus?
quelle API verwendest du, um Findwindow trop ersetzen?

sous qui API EnumWindows findet on que voici:


The EnumWindows function does not enumerate child windows.
This function is more reliable than calling le GetWindow function dans a loop. à application that calls GetWindow to perform this task risks being caught dans à infinite loop or referencing a handle of a window that has been destroyed.


quelle API steckt derrière FindWindow? Könnte oui aussi solche Ursachen avons...
 
26.11.2006  
 




Sebastian
Sprenger
allô Andreas,
beim Aufhängen gibts pas viel trop voyons: Profan pouvoir d'abord sa travail, et sobald es sur qui Profan-Funktion FindWindow stößt, pouvoir Profan gar rien plus et peut sich seulement encore sur Strg+vieux+Entf et ca. 10 Sekunden attendre finissons. aucun Fehlermeldungen, BlueScreens ou bien dergleichen.
je benutze qui API FindWindow avec lpClassName = 0 et lpWindowName = Stringadresse.
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
26.11.2006  
 




RGH
là es chez qui Profan-Funktion FindWindow() possible son soll, seulement den Anfang des Fenstertitels anzugeben (important chez Programmen, qui den aktuellen Dateinamen à den Fenstertitel anhängen), verwende je pas qui API FindWindows (ou bien FindWindowEx), mais folgende Funktion (Delphicode):
KompilierenMarqueSéparation
dans C1 (nullterminierter String) steht qui à FindWindow übergebene paramètre, IPar1 wird retour. quoi pouvoir qui Funktion oui c'est ca?
la ligne 1: je ermittele cela erste Kindfenster des Bildschirmhintergrundes (GetDeskTopWindow)
la ligne 2: je ermittele cela erste Anwendungsfenster. Gibt es keins, hat IPar1 la valeur 0.
la ligne 3: je ermittele den Fenstertitel cet Fensters. cette steht eh bien dans C2 (nullterminierter String).
la ligne 4: Solange String C1 pas dem Anfang des Cordes C2 entspricht et IPar 1 ungleich 0 ist ... (avec anderen Worten: qui Boucle wird abgebrochen, si ne...aucune weiteres la fenêtre existiert ou bien un passendes trouvé wurde)
la ligne 5: là encore ne...aucune passendes la fenêtre trouvé wurde, ermittele je cela prochain la fenêtre ...
la ligne 6: ... et dessen Fensteritel
la ligne 7: et plus avec qui Boucle (entspricht dem Endwhile dans Profan).

Kurz: qui Boucle wird sortir de, si un la fenêtre trouvé wurde, dessen Fenstertitel avec dem übergebenen String beginnt (ensuite hat IPar1cela entsprechende Handle) ou bien ne...aucune weiteres la fenêtre existiert (ensuite hat IPar1 la valeur 0).
Es sollte alors keinen le cas donner, dans dem cet Boucle endlos fonctionne.

chez mir tritt cette le cas aussi nie sur. chez wem es anders ist, qui sollte simple la fois obige Routine dans XProfan umsetzen et ausprobieren. ensuite devrait sich ermitteln laisser, quoi là de travers fonctionne. ici qui Rouitine dans XProfan:
KompilierenMarqueSéparation
 $H windows.ph
 $H messages.ph

Proc XFindWindow

    Paramètres C1$
    declare IPar1%, C2$
    C2$ = Space$(32767)
    IPar1% = ~GetWindow(~GetDesktopWindow(), ~GW_Child)
    IPar1% = ~GetWindow(IPar1%, ~GW_HWndFirst)
    SendMessage(IPar1%, ~wm_GetText, 32767, Addr(C2$))

    Tandis que (Left $(C2$, Len(C1$)) <> C1$) And (IPar1% <> 0)

        IPar1% = ~GetWindow(IPar1%, ~GW_HWndNext)
        SendMessage(IPar1%, ~wm_GetText, 32767, Addr(C2$))

    Endwhile

    Retour IPar1%

ENDPROC

CLS
Imprimer Ergebnis =   + Str$(XFindWindow(XProfan))
WaitInput
Fin

Pour jegliche Infos suis je reconnaissant.

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
26.11.2006  
 




Sebastian
Sprenger
allô Roland,
habs sous Windows ME probiert. Es liegt sur jeden le cas à WM_GETTEXT dans Zusammenhang avec Windows, qui pas réagir.

je hab erstmal irgendein Programme abstürzen et ensuite qui FindWindow-Routine courir laisser. cet lief seulement plus, comme je cela pas plus reagierende Programme sur den Taskmanager finissez hatte.

Irgendwann donnais GetWindow(IPar1, GW_HWndNext) ensuite sur einmal un Handle zurück, chez dem WM_GETTEXT stecken blieb, trop dem sich aussi sonst rien ermitteln ließ et cela avec Sicherheit aussi pas im Taskmanager auftauchte.
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
26.11.2006  
 



sous XP J'ai eu chez einigen speziellen Windows également la fois cela Problem, cela mon Proggi ([...] ) beim Ermitteln des Fenstertextes sur WM_GETTEXT une Abgang machte. j'ai ensuite qui API GetWindowText verwendet, cela klappte bestens (ist mais pas qui idealste Weg). aussi qui API SendMessageTimeout pourrait on la fois versuchen, avec cela regele je cela maintenant dans [...] .
 
27.11.2006  
 




Nico
Madysa
OK, merci pour qui Aider à alle. avec cela wäre zumindest FindWindow() geklärt.
mais quoi ist avec AddWindows? Gibt es pour aussi un Walk-Around?
 
Nico Madysa
27.11.2006  
 



Dürfte cela selbe Problem son.
 
27.11.2006  
 




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?
 
Nico Madysa
27.11.2006  
 




répondre


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

2.632 Views

Untitledvor 0 min.
H.Brill08.10.2017
Achim Engelhardt21.10.2014
Michael Uckermann19.08.2014
LuZiF3R03.03.2012
plus...

Themeninformationen



Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie