un truc bizarre avec l'API PostMessage et FindWindow
l'API-Guide donne à peu près ceci :
Dim WinWnd As Long, Ret As String, RetVal As Long, lpClassName As String
'Search the window
WinWnd = FindWindow(vbNullString, Ret)
If WinWnd = 0 Then
MsgBox "Couldn't find the window ..."
Else
MsgBox WinWnd
End If
'Show the window
ShowWindow WinWnd, SW_SHOWNORMAL
'Create a buffer
lpClassName = Space(256)
PostMessage WinWnd, WM_CLOSE, 0&, 0&
(j'ai rajouté le msgbox WinWnd pour être certain que mon problème était pas
lié à la détection de la fenêtre)
or, je détecte bien la fenêtre que je veux fermer, mais le postmessage ne
fonctionne pas ??
il me semble que c'est la valeur de WinWND qui est pas correcte ...
(ou ce que je souhaite faire n'est pas bon !)
si je récupère le handle de la fenêtre avec Window Analyser, et que je
remplace WinWnd par cette valeur, là, ça fonctionne !!
bref, je pateauge ....
--
Attention ! Adresse mail invalide ...
Pour me contacter, cliquez sur le lien ci-dessous:
http://scraper.chez.tiscali.fr/contact.htm
en fait tu as omit une ligne TRÈS importante provenant de l'exemple de l'api guide, soit : '*** Ret = InputBox("Enter the exact window title:" + Chr$(13) + Chr$(10) + "Note: must be an exact match") '***
Étant donée que Ret reste vide ("") FindWindow() te renvoit la première fenêtre qu'il trouve et non pas la fenêtre que tu cherches... Affecte le nom de la fenêtre recherchée dans la variable Ret avant d'appeler FindWindow().
en fait tu as omit une ligne TRÈS importante provenant de l'exemple de l'api
guide, soit :
'***
Ret = InputBox("Enter the exact window title:" + Chr$(13) + Chr$(10) +
"Note: must be an exact match")
'***
Étant donée que Ret reste vide ("") FindWindow() te renvoit la première
fenêtre qu'il trouve et non pas la fenêtre que tu cherches... Affecte le nom
de la fenêtre recherchée dans la variable Ret avant d'appeler FindWindow().
en fait tu as omit une ligne TRÈS importante provenant de l'exemple de l'api guide, soit : '*** Ret = InputBox("Enter the exact window title:" + Chr$(13) + Chr$(10) + "Note: must be an exact match") '***
Étant donée que Ret reste vide ("") FindWindow() te renvoit la première fenêtre qu'il trouve et non pas la fenêtre que tu cherches... Affecte le nom de la fenêtre recherchée dans la variable Ret avant d'appeler FindWindow().
Je me demande ce que peut te renvoyer WinWnd = FindWindow(vbNullString, Ret)
Ret devrait contenir le Caption de la Window que tu cherches.
Sinon le PostMessage fonctionne très bien. :
PostMessage Me.hwnd, WM_CLOSE, 0, 0
Christian
"scraper" a écrit dans le message de news:
bonjour à tous !
un truc bizarre avec l'API PostMessage et FindWindow
l'API-Guide donne à peu près ceci :
Dim WinWnd As Long, Ret As String, RetVal As Long, lpClassName As
String
'Search the window WinWnd = FindWindow(vbNullString, Ret) If WinWnd = 0 Then MsgBox "Couldn't find the window ..." Else MsgBox WinWnd End If 'Show the window ShowWindow WinWnd, SW_SHOWNORMAL 'Create a buffer lpClassName = Space(256) PostMessage WinWnd, WM_CLOSE, 0&, 0&
(j'ai rajouté le msgbox WinWnd pour être certain que mon problème était
pas
lié à la détection de la fenêtre)
or, je détecte bien la fenêtre que je veux fermer, mais le postmessage ne fonctionne pas ??
il me semble que c'est la valeur de WinWND qui est pas correcte ... (ou ce que je souhaite faire n'est pas bon !)
si je récupère le handle de la fenêtre avec Window Analyser, et que je remplace WinWnd par cette valeur, là, ça fonctionne !!
bref, je pateauge ....
--
Attention ! Adresse mail invalide ... Pour me contacter, cliquez sur le lien ci-dessous: http://scraper.chez.tiscali.fr/contact.htm
scraper
Bin oui :
Je me demande ce que peut te renvoyer WinWnd = FindWindow(vbNullString, Ret)
Ret devrait contenir le Caption de la Window que tu cherches.
Sinon le PostMessage fonctionne très bien. :
PostMessage Me.hwnd, WM_CLOSE, 0, 0
Christian
"scraper" <scraper@pasdespam.fr> a écrit dans le message de
news:ukMrkenbEHA.1000@TK2MSFTNGP12.phx.gbl...
bonjour à tous !
un truc bizarre avec l'API PostMessage et FindWindow
l'API-Guide donne à peu près ceci :
Dim WinWnd As Long, Ret As String, RetVal As Long, lpClassName As
String
'Search the window
WinWnd = FindWindow(vbNullString, Ret)
If WinWnd = 0 Then
MsgBox "Couldn't find the window ..."
Else
MsgBox WinWnd
End If
'Show the window
ShowWindow WinWnd, SW_SHOWNORMAL
'Create a buffer
lpClassName = Space(256)
PostMessage WinWnd, WM_CLOSE, 0&, 0&
(j'ai rajouté le msgbox WinWnd pour être certain que mon problème était
pas
lié à la détection de la fenêtre)
or, je détecte bien la fenêtre que je veux fermer, mais le postmessage ne
fonctionne pas ??
il me semble que c'est la valeur de WinWND qui est pas correcte ...
(ou ce que je souhaite faire n'est pas bon !)
si je récupère le handle de la fenêtre avec Window Analyser, et que je
remplace WinWnd par cette valeur, là, ça fonctionne !!
bref, je pateauge ....
--
Attention ! Adresse mail invalide ...
Pour me contacter, cliquez sur le lien ci-dessous:
http://scraper.chez.tiscali.fr/contact.htm
Je me demande ce que peut te renvoyer WinWnd = FindWindow(vbNullString, Ret)
Ret devrait contenir le Caption de la Window que tu cherches.
Sinon le PostMessage fonctionne très bien. :
PostMessage Me.hwnd, WM_CLOSE, 0, 0
Christian
"scraper" a écrit dans le message de news:
bonjour à tous !
un truc bizarre avec l'API PostMessage et FindWindow
l'API-Guide donne à peu près ceci :
Dim WinWnd As Long, Ret As String, RetVal As Long, lpClassName As
String
'Search the window WinWnd = FindWindow(vbNullString, Ret) If WinWnd = 0 Then MsgBox "Couldn't find the window ..." Else MsgBox WinWnd End If 'Show the window ShowWindow WinWnd, SW_SHOWNORMAL 'Create a buffer lpClassName = Space(256) PostMessage WinWnd, WM_CLOSE, 0&, 0&
(j'ai rajouté le msgbox WinWnd pour être certain que mon problème était
pas
lié à la détection de la fenêtre)
or, je détecte bien la fenêtre que je veux fermer, mais le postmessage ne fonctionne pas ??
il me semble que c'est la valeur de WinWND qui est pas correcte ... (ou ce que je souhaite faire n'est pas bon !)
si je récupère le handle de la fenêtre avec Window Analyser, et que je remplace WinWnd par cette valeur, là, ça fonctionne !!
bref, je pateauge ....
--
Attention ! Adresse mail invalide ... Pour me contacter, cliquez sur le lien ci-dessous: http://scraper.chez.tiscali.fr/contact.htm
scraper
scraper
Salut à Zoury qui dans son post news: nous a écrit/répondu :
Salut Scraper! :O)
l'API-Guide donne à peu près ceci :
en fait tu as omit une ligne TRÈS importante provenant de l'exemple de l'api guide, soit :
non ...
je ne l'ai pas insérée parb souci de clarté ... raté, apparemment ! :-)
je récupère le titre de la fenêtre en lisant une valeur dans le registre !
j'ai quand même bien précisé que ça venait pas de FindWindows, puisque je m'en assure grâce à MsgBox WinWnd ;-)
plus précisément, en amont, j'ai :
Ret= GetString(HKEY_CURRENT_USER, "MaClé", "MaValeur") If Ret = "" Then Ret = "Mon Titre"
ensuite, le reste du code ....
donc, Ret est bien défini, et je me retrouve avec la même erreur :-)
Affecte le nom de la fenêtre recherchée dans la variable Ret avant d'appeler FindWindow().
c'est bien ce que je faisais ... :-(
mais je dois avoir comis une erreur
--
Attention ! Adresse mail invalide ... Pour me contacter, cliquez sur le lien ci-dessous: http://scraper.chez.tiscali.fr/contact.htm
scraper
Salut à Zoury qui dans son post
news:OX0HsynbEHA.2940@TK2MSFTNGP10.phx.gbl
nous a écrit/répondu :
Salut Scraper! :O)
l'API-Guide donne à peu près ceci :
en fait tu as omit une ligne TRÈS importante provenant de l'exemple
de l'api guide, soit :
non ...
je ne l'ai pas insérée parb souci de clarté ... raté, apparemment ! :-)
je récupère le titre de la fenêtre en lisant une valeur dans le registre !
j'ai quand même bien précisé que ça venait pas de FindWindows, puisque je
m'en assure grâce à MsgBox WinWnd ;-)
plus précisément, en amont, j'ai :
Ret= GetString(HKEY_CURRENT_USER, "MaClé", "MaValeur")
If Ret = "" Then Ret = "Mon Titre"
ensuite, le reste du code ....
donc, Ret est bien défini, et je me retrouve avec la même erreur :-)
Affecte le nom de la fenêtre recherchée dans la variable
Ret avant d'appeler FindWindow().
c'est bien ce que je faisais ... :-(
mais je dois avoir comis une erreur
--
Attention ! Adresse mail invalide ...
Pour me contacter, cliquez sur le lien ci-dessous:
http://scraper.chez.tiscali.fr/contact.htm
Salut à Zoury qui dans son post news: nous a écrit/répondu :
Salut Scraper! :O)
l'API-Guide donne à peu près ceci :
en fait tu as omit une ligne TRÈS importante provenant de l'exemple de l'api guide, soit :
non ...
je ne l'ai pas insérée parb souci de clarté ... raté, apparemment ! :-)
je récupère le titre de la fenêtre en lisant une valeur dans le registre !
j'ai quand même bien précisé que ça venait pas de FindWindows, puisque je m'en assure grâce à MsgBox WinWnd ;-)
plus précisément, en amont, j'ai :
Ret= GetString(HKEY_CURRENT_USER, "MaClé", "MaValeur") If Ret = "" Then Ret = "Mon Titre"
ensuite, le reste du code ....
donc, Ret est bien défini, et je me retrouve avec la même erreur :-)
Affecte le nom de la fenêtre recherchée dans la variable Ret avant d'appeler FindWindow().
c'est bien ce que je faisais ... :-(
mais je dois avoir comis une erreur
--
Attention ! Adresse mail invalide ... Pour me contacter, cliquez sur le lien ci-dessous: http://scraper.chez.tiscali.fr/contact.htm
scraper
Zoury
> j'ai quand même bien précisé que ça venait pas de FindWindows, puisque je m'en assure grâce à MsgBox WinWnd ;-)
?!?
je crois que je t'ai perdu... si le problème ne vient pas de FindWindow() alors comment expliques-tu ceci :
il me semble que c'est la valeur de WinWND qui est pas correcte ... (ou ce que je souhaite faire n'est pas bon !)
si je récupère le handle de la fenêtre avec Window Analyser, et que je remplace WinWnd par cette valeur, là, ça fonctionne !!
Je comprend, selon ta description, que WinWnd ne contient pas la bonne valeur après l'appel de FindWindow() (cette valeur n'est pas la même que Window Analyser)... je suis dans le champs ? :O)
> j'ai quand même bien précisé que ça venait pas de FindWindows, puisque je
m'en assure grâce à MsgBox WinWnd ;-)
?!?
je crois que je t'ai perdu... si le problème ne vient pas de FindWindow()
alors comment expliques-tu ceci :
il me semble que c'est la valeur de WinWND qui est pas correcte ...
(ou ce que je souhaite faire n'est pas bon !)
si je récupère le handle de la fenêtre avec Window Analyser, et que je
remplace WinWnd par cette valeur, là, ça fonctionne !!
Je comprend, selon ta description, que WinWnd ne contient pas la bonne
valeur après l'appel de FindWindow() (cette valeur n'est pas la même que
Window Analyser)... je suis dans le champs ? :O)
> j'ai quand même bien précisé que ça venait pas de FindWindows, puisque je m'en assure grâce à MsgBox WinWnd ;-)
?!?
je crois que je t'ai perdu... si le problème ne vient pas de FindWindow() alors comment expliques-tu ceci :
il me semble que c'est la valeur de WinWND qui est pas correcte ... (ou ce que je souhaite faire n'est pas bon !)
si je récupère le handle de la fenêtre avec Window Analyser, et que je remplace WinWnd par cette valeur, là, ça fonctionne !!
Je comprend, selon ta description, que WinWnd ne contient pas la bonne valeur après l'appel de FindWindow() (cette valeur n'est pas la même que Window Analyser)... je suis dans le champs ? :O)
1. Window Analyser renvoie-t-il la même valeur que trouve ton FindWindow ?
2. Si non, la variable Ret de type String est-elle bien convertie en AnsiString (à zéro terminal) par la library WinAPi de Visual Basic ? (jamais appelé l'API sous VB )
scraper a écrit :
Dim WinWnd As Long, Ret As String, RetVal As Long, lpClassName As String
or, je détecte bien la fenêtre que je veux fermer, mais le postmessage ne fonctionne pas ??
il me semble que c'est la valeur de WinWND qui est pas correcte ... (ou ce que je souhaite faire n'est pas bon !)
si je récupère le handle de la fenêtre avec Window Analyser, et que je remplace WinWnd par cette valeur, là, ça fonctionne !!
-- ** Anti-Spam : ajouter [usenet] dans l'objet pour ne pas être rejeté.
Cordialement, Stéphane *** http://www.team-santonum.com Loisirs, nature, arts, technologie : accueil en Charente-Maritime
Bonjour,
1.
Window Analyser renvoie-t-il la même valeur que trouve ton FindWindow ?
2.
Si non, la variable Ret de type String est-elle bien convertie en
AnsiString (à zéro terminal) par la library WinAPi de Visual Basic ?
(jamais appelé l'API sous VB )
scraper a écrit :
Dim WinWnd As Long, Ret As String, RetVal As Long, lpClassName As String
1. Window Analyser renvoie-t-il la même valeur que trouve ton FindWindow ?
2. Si non, la variable Ret de type String est-elle bien convertie en AnsiString (à zéro terminal) par la library WinAPi de Visual Basic ? (jamais appelé l'API sous VB )
scraper a écrit :
Dim WinWnd As Long, Ret As String, RetVal As Long, lpClassName As String
or, je détecte bien la fenêtre que je veux fermer, mais le postmessage ne fonctionne pas ??
il me semble que c'est la valeur de WinWND qui est pas correcte ... (ou ce que je souhaite faire n'est pas bon !)
si je récupère le handle de la fenêtre avec Window Analyser, et que je remplace WinWnd par cette valeur, là, ça fonctionne !!
-- ** Anti-Spam : ajouter [usenet] dans l'objet pour ne pas être rejeté.
Cordialement, Stéphane *** http://www.team-santonum.com Loisirs, nature, arts, technologie : accueil en Charente-Maritime
scraper
Salut à Zoury qui dans son post news: nous a écrit/répondu :
j'ai quand même bien précisé que ça venait pas de FindWindows, puisque je m'en assure grâce à MsgBox WinWnd ;-)
?!?
je crois que je t'ai perdu... si le problème ne vient pas de FindWindow() alors comment expliques-tu ceci :
ooops, désolé !
je voulais dire évidemment "ça ne vient pas de Ret" :-)
désolé pour ce lapsus qui en dit long sur mon désarroi :-)
il me semble que c'est la valeur de WinWND qui est pas correcte ... (ou ce que je souhaite faire n'est pas bon !)
si je récupère le handle de la fenêtre avec Window Analyser, et que je remplace WinWnd par cette valeur, là, ça fonctionne !!
Je comprend, selon ta description, que WinWnd ne contient pas la bonne valeur après l'appel de FindWindow() (cette valeur n'est pas la même que Window Analyser)... je suis dans le champs ? :O)
plein pile dedans !
et maintenant, je fais quoi ? lol
--
Attention ! Adresse mail invalide ... Pour me contacter, cliquez sur le lien ci-dessous: http://scraper.chez.tiscali.fr/contact.htm
scraper
Salut à Zoury qui dans son post
news:OZnyxmobEHA.2972@TK2MSFTNGP12.phx.gbl
nous a écrit/répondu :
j'ai quand même bien précisé que ça venait pas de FindWindows,
puisque je m'en assure grâce à MsgBox WinWnd ;-)
?!?
je crois que je t'ai perdu... si le problème ne vient pas de
FindWindow() alors comment expliques-tu ceci :
ooops, désolé !
je voulais dire évidemment "ça ne vient pas de Ret" :-)
désolé pour ce lapsus qui en dit long sur mon désarroi :-)
il me semble que c'est la valeur de WinWND qui est pas correcte ...
(ou ce que je souhaite faire n'est pas bon !)
si je récupère le handle de la fenêtre avec Window Analyser, et que
je remplace WinWnd par cette valeur, là, ça fonctionne !!
Je comprend, selon ta description, que WinWnd ne contient pas la bonne
valeur après l'appel de FindWindow() (cette valeur n'est pas la même
que Window Analyser)... je suis dans le champs ? :O)
plein pile dedans !
et maintenant, je fais quoi ? lol
--
Attention ! Adresse mail invalide ...
Pour me contacter, cliquez sur le lien ci-dessous:
http://scraper.chez.tiscali.fr/contact.htm
Salut à Zoury qui dans son post news: nous a écrit/répondu :
j'ai quand même bien précisé que ça venait pas de FindWindows, puisque je m'en assure grâce à MsgBox WinWnd ;-)
?!?
je crois que je t'ai perdu... si le problème ne vient pas de FindWindow() alors comment expliques-tu ceci :
ooops, désolé !
je voulais dire évidemment "ça ne vient pas de Ret" :-)
désolé pour ce lapsus qui en dit long sur mon désarroi :-)
il me semble que c'est la valeur de WinWND qui est pas correcte ... (ou ce que je souhaite faire n'est pas bon !)
si je récupère le handle de la fenêtre avec Window Analyser, et que je remplace WinWnd par cette valeur, là, ça fonctionne !!
Je comprend, selon ta description, que WinWnd ne contient pas la bonne valeur après l'appel de FindWindow() (cette valeur n'est pas la même que Window Analyser)... je suis dans le champs ? :O)
plein pile dedans !
et maintenant, je fais quoi ? lol
--
Attention ! Adresse mail invalide ... Pour me contacter, cliquez sur le lien ci-dessous: http://scraper.chez.tiscali.fr/contact.htm
scraper
scraper
Salut à Stéphane Santon qui dans son post news: nous a écrit/répondu :
Bonjour,
1. Window Analyser renvoie-t-il la même valeur que trouve ton FindWindow ?
eh non, c'est bien là le hic !
désolé .. je m'aperçois que j'ai pas été foutu de vous expliquer clairement mon problème ... c'est dire le bordel qui règne dans ma tête ! lol
2. Si non, la variable Ret de type String est-elle bien convertie en AnsiString (à zéro terminal) par la library WinAPi de Visual Basic ? (jamais appelé l'API sous VB )
tu veux dire si j'y colle un VbNullString derrière ?
j'ai essayé en effet, et ça n'a rien changé !
par aileurs, c'est pas indiqué dans API Guide ....
je sais vraiment pas trop quoi faire !
je vais essayer avec le notepad pour coller à l'exemple de API Guide :-)
merci de ton aide ...
--
Attention ! Adresse mail invalide ... Pour me contacter, cliquez sur le lien ci-dessous: http://scraper.chez.tiscali.fr/contact.htm
scraper
Salut à Stéphane Santon qui dans son post
news:40FD6C7E.6023C6DC@team-santonum.com
nous a écrit/répondu :
Bonjour,
1.
Window Analyser renvoie-t-il la même valeur que trouve ton FindWindow
?
eh non, c'est bien là le hic !
désolé .. je m'aperçois que j'ai pas été foutu de vous expliquer clairement
mon problème ... c'est dire le bordel qui règne dans ma tête ! lol
2.
Si non, la variable Ret de type String est-elle bien convertie en
AnsiString (à zéro terminal) par la library WinAPi de Visual Basic ?
(jamais appelé l'API sous VB )
tu veux dire si j'y colle un VbNullString derrière ?
j'ai essayé en effet, et ça n'a rien changé !
par aileurs, c'est pas indiqué dans API Guide ....
je sais vraiment pas trop quoi faire !
je vais essayer avec le notepad pour coller à l'exemple de API Guide :-)
merci de ton aide ...
--
Attention ! Adresse mail invalide ...
Pour me contacter, cliquez sur le lien ci-dessous:
http://scraper.chez.tiscali.fr/contact.htm
Salut à Stéphane Santon qui dans son post news: nous a écrit/répondu :
Bonjour,
1. Window Analyser renvoie-t-il la même valeur que trouve ton FindWindow ?
eh non, c'est bien là le hic !
désolé .. je m'aperçois que j'ai pas été foutu de vous expliquer clairement mon problème ... c'est dire le bordel qui règne dans ma tête ! lol
2. Si non, la variable Ret de type String est-elle bien convertie en AnsiString (à zéro terminal) par la library WinAPi de Visual Basic ? (jamais appelé l'API sous VB )
tu veux dire si j'y colle un VbNullString derrière ?
j'ai essayé en effet, et ça n'a rien changé !
par aileurs, c'est pas indiqué dans API Guide ....
je sais vraiment pas trop quoi faire !
je vais essayer avec le notepad pour coller à l'exemple de API Guide :-)
merci de ton aide ...
--
Attention ! Adresse mail invalide ... Pour me contacter, cliquez sur le lien ci-dessous: http://scraper.chez.tiscali.fr/contact.htm
scraper
Stéphane Santon
Bonjour,
scraper a écrit :
> Je comprend, selon ta description, que WinWnd ne contient pas la bonne > valeur après l'appel de FindWindow() (cette valeur n'est pas la même > que Window Analyser)... je suis dans le champs ? :O)
plein pile dedans ! et maintenant, je fais quoi ? lol
OK
* T'es-tu assuré que ta fenêtre est une fenêtre de premier niveau (les autres sont ignorées) ?
-- ** Anti-Spam : ajouter [usenet] dans l'objet pour ne pas être rejeté.
Cordialement, Stéphane *** http://www.team-santonum.com Loisirs, nature, arts, technologie : accueil en Charente-Maritime
Bonjour,
scraper a écrit :
> Je comprend, selon ta description, que WinWnd ne contient pas la bonne
> valeur après l'appel de FindWindow() (cette valeur n'est pas la même
> que Window Analyser)... je suis dans le champs ? :O)
plein pile dedans !
et maintenant, je fais quoi ? lol
OK
* T'es-tu assuré que ta fenêtre est une fenêtre de premier niveau (les
autres sont ignorées) ?
--
** Anti-Spam : ajouter [usenet] dans l'objet pour ne pas être rejeté.
Cordialement, Stéphane *** http://www.team-santonum.com
Loisirs, nature, arts, technologie : accueil en Charente-Maritime
> Je comprend, selon ta description, que WinWnd ne contient pas la bonne > valeur après l'appel de FindWindow() (cette valeur n'est pas la même > que Window Analyser)... je suis dans le champs ? :O)
plein pile dedans ! et maintenant, je fais quoi ? lol
OK
* T'es-tu assuré que ta fenêtre est une fenêtre de premier niveau (les autres sont ignorées) ?
-- ** Anti-Spam : ajouter [usenet] dans l'objet pour ne pas être rejeté.
Cordialement, Stéphane *** http://www.team-santonum.com Loisirs, nature, arts, technologie : accueil en Charente-Maritime
Zoury
voici un p'tit test.. vérifie les déclarations d'APIs attentivement car l'api-guide fait une erreur sur SendMesssage() dans plusieurs de ses exemples
ouvre bloc-note essai ce code : '*** Option Explicit
Private Declare Function SendMessage _ Lib "user32" _ Alias "SendMessageA" _ ( _ ByVal hWnd As Long, _ ByVal wMsg As Long, _ ByVal wParam As Long, _ ByRef lParam As Any _ ) As Long
Private Declare Function FindWindow _ Lib "user32" _ Alias "FindWindowA" _ ( _ ByVal lpClassName As String, _ ByVal lpWindowName As String _ ) As Long
Private Const WM_CLOSE As Long = &H10
Private Sub Main()
Dim sTitle As String Dim hWnd As Long
' doit être identique au nom de la fenetre (case insensitive) sTitle = "Sans titre - Bloc-notes" hWnd = FindWindow(vbNullString, sTitle) Call SendMessage(hWnd, WM_CLOSE, 0, ByVal 0&)
End Sub '***
bloc-note devrait fermer avec ce code... assure toi que le chiffre renvoyé par FindWindow() correspond à celui de Window Analyser (assure toi aussi qu'ils soient dans la meme base... ie. hexa, octal ou decimal)
si l'exemple fonctionne et que ton code à les mêmes déclarations, assure toi que la valeur Ret que tu vas chercher dans les registres soit *identique* au nom du formulaire..
-- Cordialement Yanick Lefebvre - MVP pour Visual Basic http://faq.vb.free.fr/?rubrique=0 - http://www.mvps.org/vbnet/ http://www.mentalis.org/agnet/apiguide.shtml - http://www.mztools.com/ "scraper" a écrit dans le message de news:
Salut à Zoury qui dans son post news: nous a écrit/répondu :
>> j'ai quand même bien précisé que ça venait pas de FindWindows, >> puisque je m'en assure grâce à MsgBox WinWnd ;-) > > ?!? > > je crois que je t'ai perdu... si le problème ne vient pas de > FindWindow() alors comment expliques-tu ceci :
ooops, désolé !
je voulais dire évidemment "ça ne vient pas de Ret" :-)
désolé pour ce lapsus qui en dit long sur mon désarroi :-) > >> il me semble que c'est la valeur de WinWND qui est pas correcte ... >> (ou ce que je souhaite faire n'est pas bon !) > >> si je récupère le handle de la fenêtre avec Window Analyser, et que >> je remplace WinWnd par cette valeur, là, ça fonctionne !! > > Je comprend, selon ta description, que WinWnd ne contient pas la bonne > valeur après l'appel de FindWindow() (cette valeur n'est pas la même > que Window Analyser)... je suis dans le champs ? :O)
plein pile dedans !
et maintenant, je fais quoi ? lol
--
Attention ! Adresse mail invalide ... Pour me contacter, cliquez sur le lien ci-dessous: http://scraper.chez.tiscali.fr/contact.htm
scraper
voici un p'tit test.. vérifie les déclarations d'APIs attentivement car
l'api-guide fait une erreur sur SendMesssage() dans plusieurs de ses
exemples
ouvre bloc-note
essai ce code :
'***
Option Explicit
Private Declare Function SendMessage _
Lib "user32" _
Alias "SendMessageA" _
( _
ByVal hWnd As Long, _
ByVal wMsg As Long, _
ByVal wParam As Long, _
ByRef lParam As Any _
) As Long
Private Declare Function FindWindow _
Lib "user32" _
Alias "FindWindowA" _
( _
ByVal lpClassName As String, _
ByVal lpWindowName As String _
) As Long
Private Const WM_CLOSE As Long = &H10
Private Sub Main()
Dim sTitle As String
Dim hWnd As Long
' doit être identique au nom de la fenetre (case insensitive)
sTitle = "Sans titre - Bloc-notes"
hWnd = FindWindow(vbNullString, sTitle)
Call SendMessage(hWnd, WM_CLOSE, 0, ByVal 0&)
End Sub
'***
bloc-note devrait fermer avec ce code...
assure toi que le chiffre renvoyé par FindWindow() correspond à celui de
Window Analyser (assure toi aussi qu'ils soient dans la meme base... ie.
hexa, octal ou decimal)
si l'exemple fonctionne et que ton code à les mêmes déclarations, assure toi
que la valeur Ret que tu vas chercher dans les registres soit *identique* au
nom du formulaire..
--
Cordialement
Yanick Lefebvre - MVP pour Visual Basic
http://faq.vb.free.fr/?rubrique=0 - http://www.mvps.org/vbnet/
http://www.mentalis.org/agnet/apiguide.shtml - http://www.mztools.com/
"scraper" <scraper@pasdespam.fr> a écrit dans le message de
news:e1UUd5obEHA.3596@tk2msftngp13.phx.gbl...
Salut à Zoury qui dans son post
news:OZnyxmobEHA.2972@TK2MSFTNGP12.phx.gbl
nous a écrit/répondu :
>> j'ai quand même bien précisé que ça venait pas de FindWindows,
>> puisque je m'en assure grâce à MsgBox WinWnd ;-)
>
> ?!?
>
> je crois que je t'ai perdu... si le problème ne vient pas de
> FindWindow() alors comment expliques-tu ceci :
ooops, désolé !
je voulais dire évidemment "ça ne vient pas de Ret" :-)
désolé pour ce lapsus qui en dit long sur mon désarroi :-)
>
>> il me semble que c'est la valeur de WinWND qui est pas correcte ...
>> (ou ce que je souhaite faire n'est pas bon !)
>
>> si je récupère le handle de la fenêtre avec Window Analyser, et que
>> je remplace WinWnd par cette valeur, là, ça fonctionne !!
>
> Je comprend, selon ta description, que WinWnd ne contient pas la bonne
> valeur après l'appel de FindWindow() (cette valeur n'est pas la même
> que Window Analyser)... je suis dans le champs ? :O)
plein pile dedans !
et maintenant, je fais quoi ? lol
--
Attention ! Adresse mail invalide ...
Pour me contacter, cliquez sur le lien ci-dessous:
http://scraper.chez.tiscali.fr/contact.htm
voici un p'tit test.. vérifie les déclarations d'APIs attentivement car l'api-guide fait une erreur sur SendMesssage() dans plusieurs de ses exemples
ouvre bloc-note essai ce code : '*** Option Explicit
Private Declare Function SendMessage _ Lib "user32" _ Alias "SendMessageA" _ ( _ ByVal hWnd As Long, _ ByVal wMsg As Long, _ ByVal wParam As Long, _ ByRef lParam As Any _ ) As Long
Private Declare Function FindWindow _ Lib "user32" _ Alias "FindWindowA" _ ( _ ByVal lpClassName As String, _ ByVal lpWindowName As String _ ) As Long
Private Const WM_CLOSE As Long = &H10
Private Sub Main()
Dim sTitle As String Dim hWnd As Long
' doit être identique au nom de la fenetre (case insensitive) sTitle = "Sans titre - Bloc-notes" hWnd = FindWindow(vbNullString, sTitle) Call SendMessage(hWnd, WM_CLOSE, 0, ByVal 0&)
End Sub '***
bloc-note devrait fermer avec ce code... assure toi que le chiffre renvoyé par FindWindow() correspond à celui de Window Analyser (assure toi aussi qu'ils soient dans la meme base... ie. hexa, octal ou decimal)
si l'exemple fonctionne et que ton code à les mêmes déclarations, assure toi que la valeur Ret que tu vas chercher dans les registres soit *identique* au nom du formulaire..
-- Cordialement Yanick Lefebvre - MVP pour Visual Basic http://faq.vb.free.fr/?rubrique=0 - http://www.mvps.org/vbnet/ http://www.mentalis.org/agnet/apiguide.shtml - http://www.mztools.com/ "scraper" a écrit dans le message de news:
Salut à Zoury qui dans son post news: nous a écrit/répondu :
>> j'ai quand même bien précisé que ça venait pas de FindWindows, >> puisque je m'en assure grâce à MsgBox WinWnd ;-) > > ?!? > > je crois que je t'ai perdu... si le problème ne vient pas de > FindWindow() alors comment expliques-tu ceci :
ooops, désolé !
je voulais dire évidemment "ça ne vient pas de Ret" :-)
désolé pour ce lapsus qui en dit long sur mon désarroi :-) > >> il me semble que c'est la valeur de WinWND qui est pas correcte ... >> (ou ce que je souhaite faire n'est pas bon !) > >> si je récupère le handle de la fenêtre avec Window Analyser, et que >> je remplace WinWnd par cette valeur, là, ça fonctionne !! > > Je comprend, selon ta description, que WinWnd ne contient pas la bonne > valeur après l'appel de FindWindow() (cette valeur n'est pas la même > que Window Analyser)... je suis dans le champs ? :O)
plein pile dedans !
et maintenant, je fais quoi ? lol
--
Attention ! Adresse mail invalide ... Pour me contacter, cliquez sur le lien ci-dessous: http://scraper.chez.tiscali.fr/contact.htm
scraper
scraper
Salut à Stéphane Santon qui dans son post news: nous a écrit/répondu :
plein pile dedans ! et maintenant, je fais quoi ? lol
OK
* T'es-tu assuré que ta fenêtre est une fenêtre de premier niveau (les autres sont ignorées) ?
à vrai dire j'en sais rien ??
le soft que j'essaie de fermer c'est outlook Express :-)
la fenêtre sur laquelle je fais les essais, c'est la "boite de réception" mais dire que c'est premier niveau ou pas ...
peut être n'est ce pas la bonne méthode, s'agissant de ce programme là ?
--
Attention ! Adresse mail invalide ... Pour me contacter, cliquez sur le lien ci-dessous: http://scraper.chez.tiscali.fr/contact.htm
scraper
Salut à Stéphane Santon qui dans son post
news:40FD726E.6BEF05E2@team-santonum.com
nous a écrit/répondu :
plein pile dedans !
et maintenant, je fais quoi ? lol
OK
* T'es-tu assuré que ta fenêtre est une fenêtre de premier niveau (les
autres sont ignorées) ?
à vrai dire j'en sais rien ??
le soft que j'essaie de fermer c'est outlook Express :-)
la fenêtre sur laquelle je fais les essais, c'est la "boite de réception"
mais dire que c'est premier niveau ou pas ...
peut être n'est ce pas la bonne méthode, s'agissant de ce programme là ?
--
Attention ! Adresse mail invalide ...
Pour me contacter, cliquez sur le lien ci-dessous:
http://scraper.chez.tiscali.fr/contact.htm