Page 1 sur 1

[R] Récupérer le "handle d'un objet" IE

Posté : lun. 20 août 2018 14:49
par jpascal
Bonjour,

Je souhaite lorsque je crée un objet IE pouvoir récupérer le handle de la fenêtre IE.

_IECreate() crée un objet.
Je peux manipuler la fenêtre IE avec son titre mais si j'ai plusieurs fenêtres dont le titre est identique, cela peut poser problème.
Je souhaite donc utiliser le handle unique pour cela.
Problème : je ne sais pas récupérer ce handle.

Code : Tout sélectionner

Local $oIE1 = _IECreate('http://google.com')
Local $oIE2 = _IECreate('http://google.com')
Local $oIE3 = _IECreate('http://google.com')
Local $hWnd = WinGetHandle($oIE2) ; Récupérer le handle d'un objet :-DDD
ConsoleWrite($hGUI & @CRLF)
Local $sTitle = _IEPropertyGet($oIE1, "title")
WinMove($hWnd, "", 0, 0, 800, 600)
WinMove($sTitle, "", 200, 200, 800, 600)
La solution doit être simple mais je ne l'ai malheureusement pas trouvée.

Re: [..] Récupérer le "handle d'un objet" IE

Posté : lun. 20 août 2018 14:51
par jpascal
Mince je crois avoir trouvé : $hWnd = $oIE.HWND

Re: [..] Récupérer le "handle d'un objet" IE

Posté : lun. 20 août 2018 14:59
par jpascal
Voici le code fonctionnel :

Code : Tout sélectionner

Local $oIE1 = _IECreate('http://google.com')
Local $oIE2 = _IECreate('http://google.com')
Local $oIE3 = _IECreate('http://google.com')
Local $hWnd = HWnd($oIE1.HWND)
Local $sTitle = _IEPropertyGet($oIE1, "title")
WinMove($hWnd, "", 0, 0, 800, 600)
Sleep(2000)
WinMove($sTitle, "", 200, 200, 800, 600)

Re: [R] Récupérer le "handle d'un objet" IE

Posté : ven. 24 août 2018 12:22
par jpascal
Et parfois on passe à côté de l'information basique... :oops:

_IEPropertyGet($oIE, "hwnd") permet de récupérer le handle de l'objet IE.