On Fri, 8 Aug 2008 01:05:19 +0200, "LE TROLL" <le
wrote:Mais n'est-ce pas ça la question, d'ouvrir une application et son fichier
avec shellexecut, et d'en récupérer le handel ???
C'est la question (en gros, parce que le handle de l'application?)
mais pas ta réponse.
On Fri, 8 Aug 2008 01:05:19 +0200, "LE TROLL" <le troll@enfer.fr>
wrote:
Mais n'est-ce pas ça la question, d'ouvrir une application et son fichier
avec shellexecut, et d'en récupérer le handel ???
C'est la question (en gros, parce que le handle de l'application?)
mais pas ta réponse.
On Fri, 8 Aug 2008 01:05:19 +0200, "LE TROLL" <le
wrote:Mais n'est-ce pas ça la question, d'ouvrir une application et son fichier
avec shellexecut, et d'en récupérer le handel ???
C'est la question (en gros, parce que le handle de l'application?)
mais pas ta réponse.
Bonjour, bonjour :o)
Je tente de comprendre, mais je fais rarement du réseau, alors je ne
suis guère compétent, mais... si c'est ouvert avec "shelleexecut API",
c'est
donc que l'API est appelée dans un programme, donc le programme passe des
paramètres de logiciels et de fichier à l'API, donc par ce biais tu sais
ce
qui a été appelé, en faisant un fichier par exemple, et en l'effaçant à la
fermeture (la ligne appelée)... à moins que tu ne puisses intervenir sur
les
programmes qui lance par shelleExecut, qu'ils ne soient pas de toi ???
Que je m'explique, si toutefois c'est dans le sens d'une solution.
Sur le poste p1, on lance par shelleexecut (se) le logiciel l1 avec aussi
le
fichier f1, qui attribue le handle h1.
On peut normalement récupérer ces 3 infos et les stocker dans un fichier
mouchard m1, soit l1 + f1 + h1.
Tu peux même faire mieux, en écrivant tout sur ton disque (serveur ou
poste
délocalisé), ainsi tu n'as qu'un fichier avec P, L, F et H dans chaque
ligne
de l'unique fichier mouchard m.
Donc, il te suffit ensuite de parcourir touts les fichiers mouchards m1...
des postes p1... et de lire chaque ligne, afin de savoir ce que le poste a
ouvert via ton programme, donc via l'API se... et de connaître l1, f1 et
h1...
Et à la fermeture, on efface la ligne du mouchard f1. Etc...
---------------
En d'autres termes, on peut tout à fait depuis chaque programme moucharder
tout ce qui est appelé, ouvert, fermé... principe du fichier log...
Je présume que tu veux cette info pour fermer de force à distance, ou
réguler, gérer...
Est-ce une solution ???
--
Romans, logiciels, email, site personnel
http://irolog.free.fr/joe.htm
------------------------------------------------------------------------------------
" teddy" a écrit dans le message de news:
egA1pbf%
| Bonjour,
|
| Avec une application connue (notepad par exemple...) et de plus en
précisant
| la fenêtre courante avec Me, on a évidemment le handle.
|
| La question, c'est connaître le handle de la fenêtre d'une application
| INCONNUE qui sera ouverte par ShellExecute() sachant que cette
application
| dépend du paramétrage INCONNU du poste (car ce n'est pas mon poste)
quant
à
| l'association fichier (extension) - Application.
| Par exemple, si je clique sur un fichier HTML dans l'explorateur Windows
ou
| un gestionnaire de fichiers, sur un poste je vais ouvrir 1 fenêtre
Internet
| Explorer, sur un autre ce sera peut-être Dreamweaver ou FireFox.
|
| Donc, quelle est le handle de la fenêtre d'une application X qui sera
| ouverte par ShellExecute ?
|
| Teddy
|
|
| "parci" a écrit dans le message de news:
|
| > On Fri, 8 Aug 2008 01:05:19 +0200, "LE TROLL" <le
| > wrote:
| >
| >>Mais n'est-ce pas ça la question, d'ouvrir une application et son
fichier
| >>avec shellexecut, et d'en récupérer le handel ???
| >
| > C'est la question (en gros, parce que le handle de l'application?)
| > mais pas ta réponse.
|
|
Bonjour, bonjour :o)
Je tente de comprendre, mais je fais rarement du réseau, alors je ne
suis guère compétent, mais... si c'est ouvert avec "shelleexecut API",
c'est
donc que l'API est appelée dans un programme, donc le programme passe des
paramètres de logiciels et de fichier à l'API, donc par ce biais tu sais
ce
qui a été appelé, en faisant un fichier par exemple, et en l'effaçant à la
fermeture (la ligne appelée)... à moins que tu ne puisses intervenir sur
les
programmes qui lance par shelleExecut, qu'ils ne soient pas de toi ???
Que je m'explique, si toutefois c'est dans le sens d'une solution.
Sur le poste p1, on lance par shelleexecut (se) le logiciel l1 avec aussi
le
fichier f1, qui attribue le handle h1.
On peut normalement récupérer ces 3 infos et les stocker dans un fichier
mouchard m1, soit l1 + f1 + h1.
Tu peux même faire mieux, en écrivant tout sur ton disque (serveur ou
poste
délocalisé), ainsi tu n'as qu'un fichier avec P, L, F et H dans chaque
ligne
de l'unique fichier mouchard m.
Donc, il te suffit ensuite de parcourir touts les fichiers mouchards m1...
des postes p1... et de lire chaque ligne, afin de savoir ce que le poste a
ouvert via ton programme, donc via l'API se... et de connaître l1, f1 et
h1...
Et à la fermeture, on efface la ligne du mouchard f1. Etc...
---------------
En d'autres termes, on peut tout à fait depuis chaque programme moucharder
tout ce qui est appelé, ouvert, fermé... principe du fichier log...
Je présume que tu veux cette info pour fermer de force à distance, ou
réguler, gérer...
Est-ce une solution ???
--
Romans, logiciels, email, site personnel
http://irolog.free.fr/joe.htm
------------------------------------------------------------------------------------
" teddy" <teddy@wanadoo.fr> a écrit dans le message de news:
egA1pbf%23IHA.4912@TK2MSFTNGP04.phx.gbl...
| Bonjour,
|
| Avec une application connue (notepad par exemple...) et de plus en
précisant
| la fenêtre courante avec Me, on a évidemment le handle.
|
| La question, c'est connaître le handle de la fenêtre d'une application
| INCONNUE qui sera ouverte par ShellExecute() sachant que cette
application
| dépend du paramétrage INCONNU du poste (car ce n'est pas mon poste)
quant
à
| l'association fichier (extension) - Application.
| Par exemple, si je clique sur un fichier HTML dans l'explorateur Windows
ou
| un gestionnaire de fichiers, sur un poste je vais ouvrir 1 fenêtre
Internet
| Explorer, sur un autre ce sera peut-être Dreamweaver ou FireFox.
|
| Donc, quelle est le handle de la fenêtre d'une application X qui sera
| ouverte par ShellExecute ?
|
| Teddy
|
|
| "parci" <parci@invalid.fr> a écrit dans le message de news:
| 1vvo949tc9314jkbgjfuetuvmqtnig23u7@4ax.com...
| > On Fri, 8 Aug 2008 01:05:19 +0200, "LE TROLL" <le troll@enfer.fr>
| > wrote:
| >
| >>Mais n'est-ce pas ça la question, d'ouvrir une application et son
fichier
| >>avec shellexecut, et d'en récupérer le handel ???
| >
| > C'est la question (en gros, parce que le handle de l'application?)
| > mais pas ta réponse.
|
|
Bonjour, bonjour :o)
Je tente de comprendre, mais je fais rarement du réseau, alors je ne
suis guère compétent, mais... si c'est ouvert avec "shelleexecut API",
c'est
donc que l'API est appelée dans un programme, donc le programme passe des
paramètres de logiciels et de fichier à l'API, donc par ce biais tu sais
ce
qui a été appelé, en faisant un fichier par exemple, et en l'effaçant à la
fermeture (la ligne appelée)... à moins que tu ne puisses intervenir sur
les
programmes qui lance par shelleExecut, qu'ils ne soient pas de toi ???
Que je m'explique, si toutefois c'est dans le sens d'une solution.
Sur le poste p1, on lance par shelleexecut (se) le logiciel l1 avec aussi
le
fichier f1, qui attribue le handle h1.
On peut normalement récupérer ces 3 infos et les stocker dans un fichier
mouchard m1, soit l1 + f1 + h1.
Tu peux même faire mieux, en écrivant tout sur ton disque (serveur ou
poste
délocalisé), ainsi tu n'as qu'un fichier avec P, L, F et H dans chaque
ligne
de l'unique fichier mouchard m.
Donc, il te suffit ensuite de parcourir touts les fichiers mouchards m1...
des postes p1... et de lire chaque ligne, afin de savoir ce que le poste a
ouvert via ton programme, donc via l'API se... et de connaître l1, f1 et
h1...
Et à la fermeture, on efface la ligne du mouchard f1. Etc...
---------------
En d'autres termes, on peut tout à fait depuis chaque programme moucharder
tout ce qui est appelé, ouvert, fermé... principe du fichier log...
Je présume que tu veux cette info pour fermer de force à distance, ou
réguler, gérer...
Est-ce une solution ???
--
Romans, logiciels, email, site personnel
http://irolog.free.fr/joe.htm
------------------------------------------------------------------------------------
" teddy" a écrit dans le message de news:
egA1pbf%
| Bonjour,
|
| Avec une application connue (notepad par exemple...) et de plus en
précisant
| la fenêtre courante avec Me, on a évidemment le handle.
|
| La question, c'est connaître le handle de la fenêtre d'une application
| INCONNUE qui sera ouverte par ShellExecute() sachant que cette
application
| dépend du paramétrage INCONNU du poste (car ce n'est pas mon poste)
quant
à
| l'association fichier (extension) - Application.
| Par exemple, si je clique sur un fichier HTML dans l'explorateur Windows
ou
| un gestionnaire de fichiers, sur un poste je vais ouvrir 1 fenêtre
Internet
| Explorer, sur un autre ce sera peut-être Dreamweaver ou FireFox.
|
| Donc, quelle est le handle de la fenêtre d'une application X qui sera
| ouverte par ShellExecute ?
|
| Teddy
|
|
| "parci" a écrit dans le message de news:
|
| > On Fri, 8 Aug 2008 01:05:19 +0200, "LE TROLL" <le
| > wrote:
| >
| >>Mais n'est-ce pas ça la question, d'ouvrir une application et son
fichier
| >>avec shellexecut, et d'en récupérer le handel ???
| >
| > C'est la question (en gros, parce que le handle de l'application?)
| > mais pas ta réponse.
|
|
Heu non, ce n'est pas vraiment la solution.
En fait, il me faut chercher dans les API lesquelles peuvent apporter
cette information de handle de fenêtre.
Il faut peut-être passer par le n° d'instance puis avec ce n° obtenir
le handle de la fenêtre.
Il y a plein d'exemples totalement incomplets sur le net.
Heu non, ce n'est pas vraiment la solution.
En fait, il me faut chercher dans les API lesquelles peuvent apporter
cette information de handle de fenêtre.
Il faut peut-être passer par le n° d'instance puis avec ce n° obtenir
le handle de la fenêtre.
Il y a plein d'exemples totalement incomplets sur le net.
Heu non, ce n'est pas vraiment la solution.
En fait, il me faut chercher dans les API lesquelles peuvent apporter
cette information de handle de fenêtre.
Il faut peut-être passer par le n° d'instance puis avec ce n° obtenir
le handle de la fenêtre.
Il y a plein d'exemples totalement incomplets sur le net.
teddy wrote:Heu non, ce n'est pas vraiment la solution.
En fait, il me faut chercher dans les API lesquelles peuvent apporter
cette information de handle de fenêtre.
Il faut peut-être passer par le n° d'instance puis avec ce n° obtenir
le handle de la fenêtre.
Il y a plein d'exemples totalement incomplets sur le net.
Hello,
Il est entendu que ShellExecute ne retourne pas un numéro d'instance:
C'est précisé dans la doc Microsoft (cf. MSDN:
http://msdn.microsoft.com/en-us/library/bb762153(VS.85).aspx)
Donc pas de moyen évident de récupérer le handle de la fenêtre
que tu viens de lancer.
Une solution peut être possible (quoique vraiement bourrine):
- Avant ton ShellExecute, lister toutes les fenêtres ouvertes
- Puis lancer ton ShellExecute
- Juste après, lister à nouveau les fenêtres ouvertes
Sous certaines conditions, on doit pouvoir retrouver celle
qui vient d'être ouverte et qui devrait donc être la fenêtre
créée par ton Shell Execute.
Pas très joli...
En tout cas, pas de solution directe avec ShellExecute, ça c'est sur.
--
Jean-marc Noury (jean_marc_n2)
Microsoft MVP - Visual Basic
FAQ VB: http://faq.vb.free.fr/
mailto: remove '_no_spam_' ;
teddy wrote:
Heu non, ce n'est pas vraiment la solution.
En fait, il me faut chercher dans les API lesquelles peuvent apporter
cette information de handle de fenêtre.
Il faut peut-être passer par le n° d'instance puis avec ce n° obtenir
le handle de la fenêtre.
Il y a plein d'exemples totalement incomplets sur le net.
Hello,
Il est entendu que ShellExecute ne retourne pas un numéro d'instance:
C'est précisé dans la doc Microsoft (cf. MSDN:
http://msdn.microsoft.com/en-us/library/bb762153(VS.85).aspx)
Donc pas de moyen évident de récupérer le handle de la fenêtre
que tu viens de lancer.
Une solution peut être possible (quoique vraiement bourrine):
- Avant ton ShellExecute, lister toutes les fenêtres ouvertes
- Puis lancer ton ShellExecute
- Juste après, lister à nouveau les fenêtres ouvertes
Sous certaines conditions, on doit pouvoir retrouver celle
qui vient d'être ouverte et qui devrait donc être la fenêtre
créée par ton Shell Execute.
Pas très joli...
En tout cas, pas de solution directe avec ShellExecute, ça c'est sur.
--
Jean-marc Noury (jean_marc_n2)
Microsoft MVP - Visual Basic
FAQ VB: http://faq.vb.free.fr/
mailto: remove '_no_spam_' ; _no_spam_jean_marc_n2@yahoo.fr
teddy wrote:Heu non, ce n'est pas vraiment la solution.
En fait, il me faut chercher dans les API lesquelles peuvent apporter
cette information de handle de fenêtre.
Il faut peut-être passer par le n° d'instance puis avec ce n° obtenir
le handle de la fenêtre.
Il y a plein d'exemples totalement incomplets sur le net.
Hello,
Il est entendu que ShellExecute ne retourne pas un numéro d'instance:
C'est précisé dans la doc Microsoft (cf. MSDN:
http://msdn.microsoft.com/en-us/library/bb762153(VS.85).aspx)
Donc pas de moyen évident de récupérer le handle de la fenêtre
que tu viens de lancer.
Une solution peut être possible (quoique vraiement bourrine):
- Avant ton ShellExecute, lister toutes les fenêtres ouvertes
- Puis lancer ton ShellExecute
- Juste après, lister à nouveau les fenêtres ouvertes
Sous certaines conditions, on doit pouvoir retrouver celle
qui vient d'être ouverte et qui devrait donc être la fenêtre
créée par ton Shell Execute.
Pas très joli...
En tout cas, pas de solution directe avec ShellExecute, ça c'est sur.
--
Jean-marc Noury (jean_marc_n2)
Microsoft MVP - Visual Basic
FAQ VB: http://faq.vb.free.fr/
mailto: remove '_no_spam_' ;
Bonjour à tous,
Comme indiqué en objet, je cherche à récupérer le handle de la fenêtre
ouverte par ShellExecute() qui m'ouvre en fait l'application associée à
un document (par exemple : pour un fichier CSV, ShellExecute() ouvre
Excel sur mon poste).
D'abord je ne suis pas sûr du code retour de ShellExecute() en cas de
succès : est-ce bien le N° d'instance de l'application lancée ou bien
est-ce un simple code d'erreur ?
Je sais qu'avec le N° d'instance, on peut trouver le handle de la
fenêtre avec GetWindowThreadProcessId()
Des idées ?
Merci beaucoup pour vos suggestions.
Teddy
Bonjour à tous,
Comme indiqué en objet, je cherche à récupérer le handle de la fenêtre
ouverte par ShellExecute() qui m'ouvre en fait l'application associée à
un document (par exemple : pour un fichier CSV, ShellExecute() ouvre
Excel sur mon poste).
D'abord je ne suis pas sûr du code retour de ShellExecute() en cas de
succès : est-ce bien le N° d'instance de l'application lancée ou bien
est-ce un simple code d'erreur ?
Je sais qu'avec le N° d'instance, on peut trouver le handle de la
fenêtre avec GetWindowThreadProcessId()
Des idées ?
Merci beaucoup pour vos suggestions.
Teddy
Bonjour à tous,
Comme indiqué en objet, je cherche à récupérer le handle de la fenêtre
ouverte par ShellExecute() qui m'ouvre en fait l'application associée à
un document (par exemple : pour un fichier CSV, ShellExecute() ouvre
Excel sur mon poste).
D'abord je ne suis pas sûr du code retour de ShellExecute() en cas de
succès : est-ce bien le N° d'instance de l'application lancée ou bien
est-ce un simple code d'erreur ?
Je sais qu'avec le N° d'instance, on peut trouver le handle de la
fenêtre avec GetWindowThreadProcessId()
Des idées ?
Merci beaucoup pour vos suggestions.
Teddy
Bonjour à tous,
Comme indiqué en objet, je cherche à récupérer le handle de la fenêtre
ouverte par ShellExecute() qui m'ouvre en fait l'application associée à un
document (par exemple : pour un fichier CSV, ShellExecute() ouvre Excel
sur mon poste).
D'abord je ne suis pas sûr du code retour de ShellExecute() en cas de
succès : est-ce bien le N° d'instance de l'application lancée ou bien
est-ce un simple code d'erreur ?
Je sais qu'avec le N° d'instance, on peut trouver le handle de la fenêtre
avec GetWindowThreadProcessId()
Des idées ?
Merci beaucoup pour vos suggestions.
Teddy
Bonjour à tous,
Comme indiqué en objet, je cherche à récupérer le handle de la fenêtre
ouverte par ShellExecute() qui m'ouvre en fait l'application associée à un
document (par exemple : pour un fichier CSV, ShellExecute() ouvre Excel
sur mon poste).
D'abord je ne suis pas sûr du code retour de ShellExecute() en cas de
succès : est-ce bien le N° d'instance de l'application lancée ou bien
est-ce un simple code d'erreur ?
Je sais qu'avec le N° d'instance, on peut trouver le handle de la fenêtre
avec GetWindowThreadProcessId()
Des idées ?
Merci beaucoup pour vos suggestions.
Teddy
Bonjour à tous,
Comme indiqué en objet, je cherche à récupérer le handle de la fenêtre
ouverte par ShellExecute() qui m'ouvre en fait l'application associée à un
document (par exemple : pour un fichier CSV, ShellExecute() ouvre Excel
sur mon poste).
D'abord je ne suis pas sûr du code retour de ShellExecute() en cas de
succès : est-ce bien le N° d'instance de l'application lancée ou bien
est-ce un simple code d'erreur ?
Je sais qu'avec le N° d'instance, on peut trouver le handle de la fenêtre
avec GetWindowThreadProcessId()
Des idées ?
Merci beaucoup pour vos suggestions.
Teddy
C'est effectivement une piste à creuser.
C'est effectivement une piste à creuser.
C'est effectivement une piste à creuser.