[R] Run et @SW_MAXIMIZE

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
fabricel
Niveau 1
Niveau 1
Messages : 5
Enregistré le : lun. 12 janv. 2009 21:52
Status : Hors ligne

[R] Run et @SW_MAXIMIZE

#1

Message 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.
Modifié en dernier par fabricel le jeu. 09 avr. 2009 08:32, modifié 2 fois.
ani
Niveau 11
Niveau 11
Messages : 1826
Enregistré le : lun. 23 juil. 2007 12:31
Localisation : Bureau
Status : Hors ligne

Re: [..] Run et @SW_MAXIMIZE

#2

Message 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 ;)
fabricel
Niveau 1
Niveau 1
Messages : 5
Enregistré le : lun. 12 janv. 2009 21:52
Status : Hors ligne

Re: [..] Run et @SW_MAXIMIZE

#3

Message 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 ;-)
ani
Niveau 11
Niveau 11
Messages : 1826
Enregistré le : lun. 23 juil. 2007 12:31
Localisation : Bureau
Status : Hors ligne

Re: [..] Run et @SW_MAXIMIZE

#4

Message 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 ;)
fabricel
Niveau 1
Niveau 1
Messages : 5
Enregistré le : lun. 12 janv. 2009 21:52
Status : Hors ligne

Re: [R] Run et @SW_MAXIMIZE

#5

Message 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.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11773
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [R] Run et @SW_MAXIMIZE

#6

Message 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)
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
ani
Niveau 11
Niveau 11
Messages : 1826
Enregistré le : lun. 23 juil. 2007 12:31
Localisation : Bureau
Status : Hors ligne

Re: [R] Run et @SW_MAXIMIZE

#7

Message par ani »

est-ce que le problème et identique avec ie8?
fabricel
Niveau 1
Niveau 1
Messages : 5
Enregistré le : lun. 12 janv. 2009 21:52
Status : Hors ligne

Re: [R] Run et @SW_MAXIMIZE

#8

Message 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.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11773
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [R] Run et @SW_MAXIMIZE

#9

Message 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.
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Répondre