Page 1 sur 1
[R] Run et @SW_MAXIMIZE
Posté : mer. 08 avr. 2009 15:58
par fabricel
Bonjour,
J'utilise la commande Run pour executer internet explorer (oui je connais ie.au3 mais sous Vista et avec IE7 le comportement me pose des soucis donc j'utilise run) et je souhaite que IE se lance en plein écran d'où ma commande
Run(@ProgramFilesDir & "\Internet Explorer\iexplore.exe " & $url,"",@SW_MAXIMIZE )
avec $url qui est, comme on s'y attend, la page web à ouvrir.
Le hic c'est que Internet Explorer s'ouvre bien mais pas du tout en plein écran contrairement à ce qu'indique la documentation de la commande Run :
Run ( "filename" [, "workingdir" [, show_flag[, opt_flag ]]] )
blablabla...
show_flag [optional] The "show" flag of the executed program:
@SW_HIDE = Hidden window (or Default keyword)
@SW_MINIMIZE = Minimized window
@SW_MAXIMIZE = Maximized window
Est-ce que quelqu'un a déjà vu ce probleme et y a eventuellement trouvé une solution ?
Je precise que le probleme est uniquement sous Vista, sous XP je n'ai pas ce probleme.
Re: [..] Run et @SW_MAXIMIZE
Posté : mer. 08 avr. 2009 18:17
par ani
bonjour
Au niveau de la cmd run les flag utilisé sont juste pour la fenetre ms-dos.
Passé par un shellexecute (boite de dialogue executer)
Code : Tout sélectionner
ShellExecute("iexplore","www.autoitscript.fr","","",@SW_MAXIMIZE)
Pour ma part étant toujours sous la version 6 d'ie,
j'utilise l'un des commutateurs = -K pour kiosque (style fullscreen ou f11)
ou bien utilisé l'include ie
Code : Tout sélectionner
#include <IE.au3>
$oIE = _IECreate ("www.autoitscript.fr", 0, 1)
WinSetState(_IEPropertyGet ($oIE, "hwnd" ), "", @SW_MAXIMIZE )
bonne continuation

Re: [..] Run et @SW_MAXIMIZE
Posté : mer. 08 avr. 2009 19:16
par fabricel
Je n'ai pas essayé d'utiliser ShellExecute mais ça pourrait effectivement marcher.
En continuant à chercher j'ai trouver que quelqu'un avait rentré comme un bug AutoIT le fait que IE sous Vista ne répondait pas à SW_MAXIMIZE et un développeur lui a répondu que ce n'était pas un bug mais un comportement acceptable car Vista n'aurait pas dans ses specs la contrainte de respecter le flag maximize....
Je ne sais pas ce qu'il est vrai ou pas mais ce que j'ai fait c'est, en m'inspirant de ton exemple, récuperer le handle de l'instance IE crée et lui envoyer un Maximize avec WinSetState et ça marche.
Merci pour ta réponse et bonne chance avec IE6

Re: [..] Run et @SW_MAXIMIZE
Posté : mer. 08 avr. 2009 20:14
par ani
et en passant par l'objet shell ?
Code : Tout sélectionner
Local $WshShell = ObjCreate("WScript.Shell")
$WshShell.Run('iexplore "www.autoitscript.fr"',3,true)
3 = maximize
true = (winwait) tant que la page n'est pas fermé, le script reste eveillé
vista connait que de nom, la seul chose c'est qu'on peut pas faire tout. genre il faut donné les droit au script. attendont les utilisateurs possédant vista

Re: [R] Run et @SW_MAXIMIZE
Posté : jeu. 09 avr. 2009 09:35
par fabricel
Bien essayer le coup du lancement depuis un shell. ça marche sous ce brave XP mais pas sous Vista (il lance bien IE mais pas en plein écran).
Sinon effectivement les développements seraient plus simples si on pouvait éviter Vista mais, vu qu'il est livré avec une grande majorité de PC neufs, on peut pas faire l'impasse si on veut distribuer ses scripts.
Re: [R] Run et @SW_MAXIMIZE
Posté : jeu. 09 avr. 2009 22:18
par Tlem
Je sais qu'il y à encore d'autres possibilités, mais voici un mix de ce qu'il est possible de faire (exemple testé sous Vista Pro) :
Code : Tout sélectionner
; Mode Kiosque
ShellExecute("iexplore","-k http://www.autoitscript.fr")
; Mode plein écran
ShellExecute("iexplore","www.autoitscript.fr")
WinWaitActive("http://www.autoitscript.fr", "")
Send("{F11}")
; Mode maximisé 1
$Pid = Run(@ComSpec & " /c " & '"C:\Program Files\Internet Explorer\iexplore.exe" http://www.autoitscript.fr', '', @SW_HIDE)
Sleep(500)
WinSetState("[ACTIVE]", "", @SW_MAXIMIZE)
; Mode maximisé 2
ShellExecute("C:\Program Files\Internet Explorer\iexplore.exe","www.autoitscript.fr")
WinWaitActive("[CLASS:IEFrame]", "")
WinSetState("[CLASS:IEFrame]", "", @SW_MAXIMIZE)
; Mode maximisé 3
ShellExecute("C:\Program Files\Internet Explorer\iexplore.exe","www.autoitscript.fr")
WinWaitActive("AutoIt", "")
WinSetState("AutoIt", "", @SW_MAXIMIZE)
Re: [R] Run et @SW_MAXIMIZE
Posté : ven. 10 avr. 2009 00:14
par ani
est-ce que le problème et identique avec ie8?
Re: [R] Run et @SW_MAXIMIZE
Posté : ven. 10 avr. 2009 07:46
par fabricel
Merci Tlem pour toutes ces solutions. C'est quoi le mode kiosque ????
Pour IE8 je ne l'ai pas encore installé. Pour moi, le changement de comportement sur SW_MAXIMIZE vient plus de l'OS que de IE donc je ne suis pas trop inquiet.
Re: [R] Run et @SW_MAXIMIZE
Posté : ven. 10 avr. 2009 07:50
par Tlem
C'est le même mode que dans certains lieux publiques.
La page est en plein écran et il n'y à aucun menu ou bouton de navigation.