Bonjour,
Avec powershell, en gwmi.
Comment afficher l'URL d'une page de mon browser IE ?
est-ce avec win32_process ?
ou une autre classe ?
Merci d'avance,
Robby.
Le CLSID utilisé par Michel n'est autre que celui de l'objet ShellWindows : http://msdn2.microsoft.com/en-us/library/bb773974(VS.85).aspx
C'est en fait l'interface de l'objet COM (Shell.Application).Windows
Oui, ça je l'avais bien compris. En fait, la solution proposée par Michel donne les mêmes fonctionnalités que l'appel à Shell.Application sous VBS ou PowerShell. Mais pendant un instant j'ai pensé que sa solution permettait d'accéder à l'objet Internet.Application, ce qui n'est pas le cas si j'ai bien tout compris (j'en doute, parfois...).
Jacques
"Gilles LAURENT [MVP]" <glsft@free.fr> wrote in message
news:eU%23HNGAnIHA.5208@TK2MSFTNGP04.phx.gbl...
Le CLSID utilisé par Michel n'est autre que celui de l'objet
ShellWindows :
http://msdn2.microsoft.com/en-us/library/bb773974(VS.85).aspx
C'est en fait l'interface de l'objet COM (Shell.Application).Windows
Oui, ça je l'avais bien compris. En fait, la solution proposée par Michel
donne les mêmes fonctionnalités que l'appel à Shell.Application sous VBS ou
PowerShell. Mais pendant un instant j'ai pensé que sa solution permettait
d'accéder à l'objet Internet.Application, ce qui n'est pas le cas si j'ai
bien tout compris (j'en doute, parfois...).
Le CLSID utilisé par Michel n'est autre que celui de l'objet ShellWindows : http://msdn2.microsoft.com/en-us/library/bb773974(VS.85).aspx
C'est en fait l'interface de l'objet COM (Shell.Application).Windows
Oui, ça je l'avais bien compris. En fait, la solution proposée par Michel donne les mêmes fonctionnalités que l'appel à Shell.Application sous VBS ou PowerShell. Mais pendant un instant j'ai pensé que sa solution permettait d'accéder à l'objet Internet.Application, ce qui n'est pas le cas si j'ai bien tout compris (j'en doute, parfois...).
Jacques
Gilles LAURENT [MVP]
"Jacques Barathon [MS]" a écrit dans le message de news:% | "Gilles LAURENT [MVP]" wrote in message | news:eU% || Le CLSID utilisé par Michel n'est autre que celui de l'objet || ShellWindows : || http://msdn2.microsoft.com/en-us/library/bb773974(VS.85).aspx || || C'est en fait l'interface de l'objet COM (Shell.Application).Windows | | Oui, ça je l'avais bien compris. En fait, la solution proposée par | Michel donne les mêmes fonctionnalités que l'appel à | Shell.Application sous VBS ou PowerShell. Mais pendant un instant | j'ai pensé que sa solution permettait d'accéder à l'objet | Internet.Application, ce qui n'est pas le cas si j'ai bien tout | compris (j'en doute, parfois...).
Oui, nos solutions PowerShell, VBScript, Python permettent d'accèder de manière indirecte à l'objet InternetExplorer.Application. Ci-dessous un transcript WSH Shell dans le but de tracer la démarche utilisée et de comprendre le fonctionnement (efin j'espère !) :
******************************* WSH Transcript Start Start time : 2008-04-12 21:10:34 Username : DEVXPGilles Machine : DEVXP (Microsoft Windows NT 5.1.2600.2) ******************************* Transcript started, output file is D:TestIExplore.txt
WSH D:Test> ' instanciation de l'object InternetExplorer.Application WSH D:Test> Set oIE=co("InternetExplorer.Application") WSH D:Test> ' lecture du type de l'objet WSH D:Test> echo TypeName(oIE) IWebBrowser2 WSH D:Test> ' instanciation de l'objet Shell.Application WSH D:Test> Set oApp=co("Shell.Application") WSH D:Test> ' lecture du type de l'objet WSH D:Test> echo TypeName(oApp) IShellDispatch4 WSH D:Test> ' bon ok, c'est pas très verbeux tout cela ! WSH D:Test> ' l'important est que l'interface C++ IDispach (VTable) WSH D:Test> ' soit implémentée WSH D:Test> ' tentative d'instanciation de l'objet ShellWindows WSH D:Test> Set oShellWindows=oApp.Windows WSH D:Test> ' lecture du type de l'objet WSH D:Test> echo TypeName(oShellWindows) IShellWindows WSH D:Test> ' c'est tout bon, on possède l'interface qui va bien ! WSH D:Test> ' parcours de l'objet via ICollection (VTable) WSH D:Test> % oIEInst In oShellWindows {
echo TypeName(oIEInst), oIEInst.Name }
IWebBrowser2 Microsoft Internet Explorer
IWebBrowser2 Microsoft Internet Explorer WSH D:Test> WSH D:Test> ' nous retrouvons bien ici les instances de l'objet WSH D:Test> ' COM InternetExplorer.Application par référence WSH D:Test> echo TypeName(oIE), oIE.Name IWebBrowser2 Microsoft Internet Explorer WSH D:Test> WSH D:Test> ' Enjoy !
Transcript stopped.
-- Gilles LAURENT MVP Windows Server - Admin Frameworks http://glsft.free.fr
"Jacques Barathon [MS]" <jbaratho@online.microsoft.com> a écrit dans le
message de
news:%234m0wYLnIHA.484@TK2MSFTNGP06.phx.gbl
| "Gilles LAURENT [MVP]" <glsft@free.fr> wrote in message
| news:eU%23HNGAnIHA.5208@TK2MSFTNGP04.phx.gbl...
|| Le CLSID utilisé par Michel n'est autre que celui de l'objet
|| ShellWindows :
|| http://msdn2.microsoft.com/en-us/library/bb773974(VS.85).aspx
||
|| C'est en fait l'interface de l'objet COM (Shell.Application).Windows
|
| Oui, ça je l'avais bien compris. En fait, la solution proposée par
| Michel donne les mêmes fonctionnalités que l'appel à
| Shell.Application sous VBS ou PowerShell. Mais pendant un instant
| j'ai pensé que sa solution permettait d'accéder à l'objet
| Internet.Application, ce qui n'est pas le cas si j'ai bien tout
| compris (j'en doute, parfois...).
Oui, nos solutions PowerShell, VBScript, Python permettent d'accèder de
manière indirecte à l'objet InternetExplorer.Application. Ci-dessous un
transcript WSH Shell dans le but de tracer la démarche utilisée et de
comprendre le fonctionnement (efin j'espère !) :
*******************************
WSH Transcript Start
Start time : 2008-04-12 21:10:34
Username : DEVXPGilles
Machine : DEVXP (Microsoft Windows NT 5.1.2600.2)
*******************************
Transcript started, output file is D:TestIExplore.txt
WSH D:Test> ' instanciation de l'object InternetExplorer.Application
WSH D:Test> Set oIE=co("InternetExplorer.Application")
WSH D:Test> ' lecture du type de l'objet
WSH D:Test> echo TypeName(oIE)
IWebBrowser2
WSH D:Test> ' instanciation de l'objet Shell.Application
WSH D:Test> Set oApp=co("Shell.Application")
WSH D:Test> ' lecture du type de l'objet
WSH D:Test> echo TypeName(oApp)
IShellDispatch4
WSH D:Test> ' bon ok, c'est pas très verbeux tout cela !
WSH D:Test> ' l'important est que l'interface C++ IDispach (VTable)
WSH D:Test> ' soit implémentée
WSH D:Test> ' tentative d'instanciation de l'objet ShellWindows
WSH D:Test> Set oShellWindows=oApp.Windows
WSH D:Test> ' lecture du type de l'objet
WSH D:Test> echo TypeName(oShellWindows)
IShellWindows
WSH D:Test> ' c'est tout bon, on possède l'interface qui va bien !
WSH D:Test> ' parcours de l'objet via ICollection (VTable)
WSH D:Test> % oIEInst In oShellWindows {
echo TypeName(oIEInst), oIEInst.Name
}
IWebBrowser2 Microsoft Internet Explorer
IWebBrowser2 Microsoft Internet Explorer
WSH D:Test>
WSH D:Test> ' nous retrouvons bien ici les instances de l'objet
WSH D:Test> ' COM InternetExplorer.Application par référence
WSH D:Test> echo TypeName(oIE), oIE.Name
IWebBrowser2 Microsoft Internet Explorer
WSH D:Test>
WSH D:Test> ' Enjoy !
Transcript stopped.
--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr
"Jacques Barathon [MS]" a écrit dans le message de news:% | "Gilles LAURENT [MVP]" wrote in message | news:eU% || Le CLSID utilisé par Michel n'est autre que celui de l'objet || ShellWindows : || http://msdn2.microsoft.com/en-us/library/bb773974(VS.85).aspx || || C'est en fait l'interface de l'objet COM (Shell.Application).Windows | | Oui, ça je l'avais bien compris. En fait, la solution proposée par | Michel donne les mêmes fonctionnalités que l'appel à | Shell.Application sous VBS ou PowerShell. Mais pendant un instant | j'ai pensé que sa solution permettait d'accéder à l'objet | Internet.Application, ce qui n'est pas le cas si j'ai bien tout | compris (j'en doute, parfois...).
Oui, nos solutions PowerShell, VBScript, Python permettent d'accèder de manière indirecte à l'objet InternetExplorer.Application. Ci-dessous un transcript WSH Shell dans le but de tracer la démarche utilisée et de comprendre le fonctionnement (efin j'espère !) :
******************************* WSH Transcript Start Start time : 2008-04-12 21:10:34 Username : DEVXPGilles Machine : DEVXP (Microsoft Windows NT 5.1.2600.2) ******************************* Transcript started, output file is D:TestIExplore.txt
WSH D:Test> ' instanciation de l'object InternetExplorer.Application WSH D:Test> Set oIE=co("InternetExplorer.Application") WSH D:Test> ' lecture du type de l'objet WSH D:Test> echo TypeName(oIE) IWebBrowser2 WSH D:Test> ' instanciation de l'objet Shell.Application WSH D:Test> Set oApp=co("Shell.Application") WSH D:Test> ' lecture du type de l'objet WSH D:Test> echo TypeName(oApp) IShellDispatch4 WSH D:Test> ' bon ok, c'est pas très verbeux tout cela ! WSH D:Test> ' l'important est que l'interface C++ IDispach (VTable) WSH D:Test> ' soit implémentée WSH D:Test> ' tentative d'instanciation de l'objet ShellWindows WSH D:Test> Set oShellWindows=oApp.Windows WSH D:Test> ' lecture du type de l'objet WSH D:Test> echo TypeName(oShellWindows) IShellWindows WSH D:Test> ' c'est tout bon, on possède l'interface qui va bien ! WSH D:Test> ' parcours de l'objet via ICollection (VTable) WSH D:Test> % oIEInst In oShellWindows {
echo TypeName(oIEInst), oIEInst.Name }
IWebBrowser2 Microsoft Internet Explorer
IWebBrowser2 Microsoft Internet Explorer WSH D:Test> WSH D:Test> ' nous retrouvons bien ici les instances de l'objet WSH D:Test> ' COM InternetExplorer.Application par référence WSH D:Test> echo TypeName(oIE), oIE.Name IWebBrowser2 Microsoft Internet Explorer WSH D:Test> WSH D:Test> ' Enjoy !
Transcript stopped.
-- Gilles LAURENT MVP Windows Server - Admin Frameworks http://glsft.free.fr
Méta-MCI \(MVP\)
'soir !
Vi vi ; on est tous d'accord. Mais, en plus de Internet-Explorer, cela détecte aussi les instances de l'explorateur, que l'on peut éliminer en utilisant le mot "Internet" pour sélectionner (comme l'avait fait Jacques, et toi). Par contre, on ne voit pas les connexions .HTA (liées à mshta.exe). Du moins, pas dans mes tests.
Sinon, j'ai cherché s'il était possible de voir les connexions à Internet, avec NETSTAT. Et, très vite, je suis tombé sur les proxies (locaux) des antivirus, ce qui rend trop difficile l'exploitation des sorties.
@+
Michel Claveau
'soir !
Vi vi ; on est tous d'accord.
Mais, en plus de Internet-Explorer, cela détecte aussi les instances de
l'explorateur, que l'on peut éliminer en utilisant le mot "Internet"
pour sélectionner (comme l'avait fait Jacques, et toi).
Par contre, on ne voit pas les connexions .HTA (liées à mshta.exe). Du
moins, pas dans mes tests.
Sinon, j'ai cherché s'il était possible de voir les connexions à
Internet, avec NETSTAT. Et, très vite, je suis tombé sur les proxies
(locaux) des antivirus, ce qui rend trop difficile l'exploitation des
sorties.
Vi vi ; on est tous d'accord. Mais, en plus de Internet-Explorer, cela détecte aussi les instances de l'explorateur, que l'on peut éliminer en utilisant le mot "Internet" pour sélectionner (comme l'avait fait Jacques, et toi). Par contre, on ne voit pas les connexions .HTA (liées à mshta.exe). Du moins, pas dans mes tests.
Sinon, j'ai cherché s'il était possible de voir les connexions à Internet, avec NETSTAT. Et, très vite, je suis tombé sur les proxies (locaux) des antivirus, ce qui rend trop difficile l'exploitation des sorties.
Vi vi ; on est tous d'accord. Mais, en plus de Internet-Explorer, cela détecte aussi les instances de l'explorateur,
Ce qui était le cas naguère avec l'utilisation directe de shell.application.windows (probablement avant que l'interface de l'explorateur ne soit dissociée de celle d'internet explorer).
que l'on peut éliminer en utilisant le mot "Internet" pour sélectionner (comme l'avait fait Jacques, et toi). Par contre, on ne voit pas les connexions .HTA (liées à mshta.exe).
Les HTA n'ont rien à voir avec Shell.Application (ou InternetExplorer.Application) ... c'est le WebBrowser qu'il faudrait cibler, clsid 8856F961-340A-11D0-A96B-00C04FD705A2 voire html document, clsid 25336920-03F9-11CF-8FD0-00AA00686F13
Du moins, pas dans mes tests.
Sinon, j'ai cherché s'il était possible de voir les connexions à Internet, avec NETSTAT. Et, très vite, je suis tombé sur les proxies (locaux) des antivirus, ce qui rend trop difficile l'exploitation des sorties.
@+
Michel Claveau
Amicalement,
-- Jean - JMST Belgium
'soir !
Vi vi ; on est tous d'accord.
Mais, en plus de Internet-Explorer, cela détecte aussi les instances de
l'explorateur,
Ce qui était le cas naguère avec l'utilisation directe de
shell.application.windows (probablement avant que l'interface de
l'explorateur ne soit dissociée de celle d'internet explorer).
que l'on peut éliminer en utilisant le mot "Internet" pour sélectionner
(comme l'avait fait Jacques, et toi).
Par contre, on ne voit pas les connexions .HTA (liées à mshta.exe).
Les HTA n'ont rien à voir avec Shell.Application (ou
InternetExplorer.Application) ... c'est le WebBrowser qu'il faudrait
cibler, clsid 8856F961-340A-11D0-A96B-00C04FD705A2 voire html document,
clsid 25336920-03F9-11CF-8FD0-00AA00686F13
Du moins, pas dans mes tests.
Sinon, j'ai cherché s'il était possible de voir les connexions à Internet,
avec NETSTAT. Et, très vite, je suis tombé sur les proxies (locaux) des
antivirus, ce qui rend trop difficile l'exploitation des sorties.
Vi vi ; on est tous d'accord. Mais, en plus de Internet-Explorer, cela détecte aussi les instances de l'explorateur,
Ce qui était le cas naguère avec l'utilisation directe de shell.application.windows (probablement avant que l'interface de l'explorateur ne soit dissociée de celle d'internet explorer).
que l'on peut éliminer en utilisant le mot "Internet" pour sélectionner (comme l'avait fait Jacques, et toi). Par contre, on ne voit pas les connexions .HTA (liées à mshta.exe).
Les HTA n'ont rien à voir avec Shell.Application (ou InternetExplorer.Application) ... c'est le WebBrowser qu'il faudrait cibler, clsid 8856F961-340A-11D0-A96B-00C04FD705A2 voire html document, clsid 25336920-03F9-11CF-8FD0-00AA00686F13
Du moins, pas dans mes tests.
Sinon, j'ai cherché s'il était possible de voir les connexions à Internet, avec NETSTAT. Et, très vite, je suis tombé sur les proxies (locaux) des antivirus, ce qui rend trop difficile l'exploitation des sorties.
@+
Michel Claveau
Amicalement,
-- Jean - JMST Belgium
Jean
Sinon, connaissez-vous beaucoup de choses interdites à JScript, et autorisées à VBScript ?
Je parlerais plutôt de différences entre JScript et VbScript. Je n'ai pas listé les différences mais deux choses importantes pour la manipulation des com : les paramètres byref et les tableaux vb safe array ne sont pas gérés par le type variant de jscript. Donc si un com impose un paramètre byref ou retourne un tableau safe array jscript perd la vue. Je crois que l'on trouve des solutions de contournement en broutant un peu mais autant utiliser le langage qui sait faire la tâche, donc pour ce qui précède, VbScript.
Amicalement,
-- Jean - JMST Belgium
Sinon, connaissez-vous beaucoup de choses interdites à JScript, et
autorisées à VBScript ?
Je parlerais plutôt de différences entre JScript et VbScript.
Je n'ai pas listé les différences mais deux choses importantes pour la
manipulation des com :
les paramètres byref et les tableaux vb safe array ne sont pas gérés
par le type variant de jscript.
Donc si un com impose un paramètre byref ou retourne un tableau safe
array jscript perd la vue.
Je crois que l'on trouve des solutions de contournement en broutant un
peu mais autant utiliser le langage qui sait faire la tâche, donc pour
ce qui précède, VbScript.
Sinon, connaissez-vous beaucoup de choses interdites à JScript, et autorisées à VBScript ?
Je parlerais plutôt de différences entre JScript et VbScript. Je n'ai pas listé les différences mais deux choses importantes pour la manipulation des com : les paramètres byref et les tableaux vb safe array ne sont pas gérés par le type variant de jscript. Donc si un com impose un paramètre byref ou retourne un tableau safe array jscript perd la vue. Je crois que l'on trouve des solutions de contournement en broutant un peu mais autant utiliser le langage qui sait faire la tâche, donc pour ce qui précède, VbScript.
En fait, lorsque j'en ai besoin, je m'en sors avec un .WSF, avec juste une fonction en VBScript, appelée par le script en JScript.
Sinon, lorsque tu parles de "variant" pour JScript, je suppose que c'est un léger abus de langage, JScript utilisant , à la place les variables comme étant des identifiants d'objets, et le changement de type d'objet étant lié au changement de prototype ; et non à la possibilité d'avoir différents types dans une même zone mémoire.
@+
Michel Claveau
Re !
En fait, lorsque j'en ai besoin, je m'en sors avec un .WSF, avec juste
une fonction en VBScript, appelée par le script en JScript.
Sinon, lorsque tu parles de "variant" pour JScript, je suppose que c'est
un léger abus de langage, JScript utilisant , à la place les variables
comme étant des identifiants d'objets, et le changement de type d'objet
étant lié au changement de prototype ; et non à la possibilité d'avoir
différents types dans une même zone mémoire.
En fait, lorsque j'en ai besoin, je m'en sors avec un .WSF, avec juste une fonction en VBScript, appelée par le script en JScript.
Sinon, lorsque tu parles de "variant" pour JScript, je suppose que c'est un léger abus de langage, JScript utilisant , à la place les variables comme étant des identifiants d'objets, et le changement de type d'objet étant lié au changement de prototype ; et non à la possibilité d'avoir différents types dans une même zone mémoire.
@+
Michel Claveau
MCI \(ex do ré Mi chel la si do\) [MVP]
'soir !
Ce qui était le cas naguère avec l'utilisation directe de shell.application.windows (probablement avant que l'interface de l'explorateur ne soit dissociée de celle d'internet explorer).
C'est ce que j'ai expliqué dans mon message de 22h.12 ; on est donc d'accord.
Les HTA n'ont rien à voir avec Shell.Application (ou InternetExplorer.Application) ... c'est le WebBrowser qu'il faudrait cibler, clsid 8856F961-340A-11D0-A96B-00C04FD705A2 voire html document, clsid 25336920-03F9-11CF-8FD0-00AA00686F13
Malheureusement, ces objets n'exposent pas de "Dispatch" ; ils ne peuvent dont pas être joint depuis Python, et sans doute pas depuis VBScript.CreateObject
@+
Michel Claveau
'soir !
Ce qui était le cas naguère avec l'utilisation directe de
shell.application.windows (probablement avant que l'interface de
l'explorateur ne soit dissociée de celle d'internet explorer).
C'est ce que j'ai expliqué dans mon message de 22h.12 ; on est donc
d'accord.
Les HTA n'ont rien à voir avec Shell.Application (ou
InternetExplorer.Application) ... c'est le WebBrowser qu'il faudrait
cibler, clsid 8856F961-340A-11D0-A96B-00C04FD705A2 voire html
document, clsid 25336920-03F9-11CF-8FD0-00AA00686F13
Malheureusement, ces objets n'exposent pas de "Dispatch" ; ils ne
peuvent dont pas être joint depuis Python, et sans doute pas depuis
VBScript.CreateObject
Ce qui était le cas naguère avec l'utilisation directe de shell.application.windows (probablement avant que l'interface de l'explorateur ne soit dissociée de celle d'internet explorer).
C'est ce que j'ai expliqué dans mon message de 22h.12 ; on est donc d'accord.
Les HTA n'ont rien à voir avec Shell.Application (ou InternetExplorer.Application) ... c'est le WebBrowser qu'il faudrait cibler, clsid 8856F961-340A-11D0-A96B-00C04FD705A2 voire html document, clsid 25336920-03F9-11CF-8FD0-00AA00686F13
Malheureusement, ces objets n'exposent pas de "Dispatch" ; ils ne peuvent dont pas être joint depuis Python, et sans doute pas depuis VBScript.CreateObject
@+
Michel Claveau
Jean
'soir !
Sans vouloir me vanter, pas chez moi :P
Je pense que c'est lié à Windows-Mail...
@+
Pas au mien ... ni à mon MesNews brolifié ... la pression atmosphérique peut être ? ... :-)
Amicalement,
-- Jean - JMST Belgium
'soir !
Sans vouloir me vanter, pas chez moi :P
Je pense que c'est lié à Windows-Mail...
@+
Pas au mien ... ni à mon MesNews brolifié ... la pression atmosphérique
peut être ? ... :-)