Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

DestroyWindow

10 réponses
Avatar
Jean Passe
Salut,

Pour fermer une fenêtre (Internet explorer ou autre navigateur) non ouverte
par l'appli WD9 j'utilise l'API DestroyWindow qui est faite pour ça.

hWnd est un entier=eNumHandle
bRetour=API("USER32","DestroyWindow",hWnd)

Mais ça ne marche pas.
Pourtant le handle utilisé est bon (je fais autre chose avec la fenêtre
avant de la fermer et ça marche).
Le code est pondu par WDAPI (que je n'ai jamais utilisé auparavant).

Une idée ?
Merci.

10 réponses

Avatar
patrice
voir doc: A thread cannot use DestroyWindow to destroy a window created by a
different thread

"Jean Passe" a écrit dans le message de
news:48b3c745$0$881$
Salut,

Pour fermer une fenêtre (Internet explorer ou autre navigateur) non


ouverte
par l'appli WD9 j'utilise l'API DestroyWindow qui est faite pour ça.

hWnd est un entier=eNumHandle
bRetour=API("USER32","DestroyWindow",hWnd)

Mais ça ne marche pas.
Pourtant le handle utilisé est bon (je fais autre chose avec la fenêtre
avant de la fermer et ça marche).
Le code est pondu par WDAPI (que je n'ai jamais utilisé auparavant).

Une idée ?
Merci.




Avatar
Jean Passe
Salut,

voir doc: A thread cannot use DestroyWindow to destroy a window created by




a
different thread






Ben zut alors ... :-(

Merci.
Avatar
roy.vincent1
On 26 août, 11:28, "Jean Passe" wrote:
Salut,



Bonjour,

Utilisez plutot:
WM_CLOSE est un entier = 16
hWnd est un entier=eNumHandle
PostMessage (hWnd,WM_CLOSE,0,0)

Bon dev
Vince
http://vroy1.free.fr/wpfr/



>>voir doc: A thread cannot use DestroyWindow to destroy a window created by
a
>>different thread

Ben zut alors ... :-(

Merci.


Avatar
Jean Passe
Salut,

Utilisez plutot:
WM_CLOSE est un entier = 16
hWnd est un entier=eNumHandle
PostMessage (hWnd,WM_CLOSE,0,0)





Ok, je vais essayer ça, je n'y avais pas pensé du tout.

J'avais provisoirement solutionné le problème par un
ExeTermine("IEXPLORER.EXE") ce qui marche, mais faut que ce soit IE ... ;-)
et c'est emmerdant s'il a d'autres fenêtres ouverts.

Merci.
Avatar
Jean Passe
Salut,

Utilisez plutot:
WM_CLOSE est un entier = 16
hWnd est un entier=eNumHandle
PostMessage (hWnd,WM_CLOSE,0,0)






Marche pas non plus ... :-(

Je contibue à contourner avec Exetermine, mais ça ne peut être que
provisoire...

Merci.
Avatar
PYT
Jean Passe a écrit :
Salut,

Utilisez plutot:
WM_CLOSE est un entier = 16
hWnd est un entier=eNumHandle
PostMessage (hWnd,WM_CLOSE,0,0)






Marche pas non plus ... :-(

Je contibue à contourner avec Exetermine, mais ça ne peut être que
provisoire...

Merci.




J'ai vu sur un autre forum un truc du genre :

DestroyWindow(hwnd);
PostMessage(hwnd,WM_DESTROY,0,0);

a essayer peut être

PYT
Avatar
PYT
Jean Passe a écrit :
Salut,

Utilisez plutot:
WM_CLOSE est un entier = 16
hWnd est un entier=eNumHandle
PostMessage (hWnd,WM_CLOSE,0,0)






Marche pas non plus ... :-(

Je contibue à contourner avec Exetermine, mais ça ne peut être que
provisoire...

Merci.




Ca aussi

http://support.microsoft.com/kb/92528/fr

PYT
Avatar
Jean Passe
> http://support.microsoft.com/kb/92528/fr

PYT



Merci, je vais voir ça.
Avatar
roy.vincent1
Pour ce code,

WM_CLOSE est un entier = 16
hWnd est un entier=eNumHandle
PostMessage (hWnd,WM_CLOSE,0,0)

je suis quasi certain que ca fonctionne. Comment retrouver vous le
handle "eNumHandle" ? Cette entier doit contenir le handle de la
fenêtre à détruire.

A bientot

http://vroy1.free.fr/wpfr/


On 28 août, 21:23, "Jean Passe" wrote:
>http://support.microsoft.com/kb/92528/fr

> PYT

Merci, je vais voir ça.


Avatar
Jean Passe
Salut,

WM_CLOSE est un entier = 16
hWnd est un entier=eNumHandle
PostMessage (hWnd,WM_CLOSE,0,0)





je suis quasi certain que ca fonctionne. Comment retrouver vous le
handle "eNumHandle" ? Cette entier doit contenir le handle de la
fenêtre à détruire.





Je ne suis pas sur place, je ne peux donc regarder le code.
Mais la variable eNumHandle contient bien le bon handle de la fenêtre visée.
J'utilise ce handle pour récupérer le titre de la fenêtre (en WD je crois)
et ça ne pose pas problème.

Le eNumHandle n'est pas modifié avant de le passer à PostMessage, il y a
donc autre chose.
J'ai essayé en intégrand le fichier externe avec les valeurs hexa (je crois)
mais c'est pareil.

Merci.