Page 1 sur 1

[R] Problème commande Run

Posté : dim. 29 juin 2008 18:05
par hymi
Bonjour tout le monde, voila j'essaye de faire un petit script mais je comprend pas pourquoi la commande run ne veut pas s'executer ;(

Expliquation sur l'utilité du script :

Suite au passage de windows xp à windows vista, j'ai eu la mauvaise surprise que Nvidia a supprimer de ces drivers le logiciel "Nview" qui permetez entre autre de configurer un raccourcie clavier pour switch d'un ecran a l'autre (dans mon cas de l'ordinateur a la télé), vu que je switch entre les ecran trés souvent je me suis dis qu'il devez bien y avoir une solution pour le faire sois meme ;)

J'ai utiliser un logiciel nommé ultramon pour créer un profil pour chaque affichage (uniquement le pc ou la tété), ce logiciel est pratique car il genre un fichier du genre "<nom du profil>.umprofile"

un double clic dessus permet d'activer le profil.

Il me reste plus qu'a assigné ces profil a une de mes touche de mon clavier logitech G15 ... hélas je suis du genre lourd, et comme ca il me faut 2 raccourcie clavier, alors que sous windows xp il m en fallez que 1 ^_^

donc voila plus qu'a faire un script qui me log dans un fichier sur quelle affichage je suis, et lance le 2 eme profil si je clic ;)

je débute a peine avec autoit, j'ai deja fais 2 3 script qui utiliser la fonction run qui marcher plutot bien, mais la je comprend pas pourquoi il ne se passe rien ;(

Code : Tout sélectionner

Global $Path_Profil = "C:\Users\hymi\Documents"
Global $Tv_Name = "tv.umprofile"
Global $Lcd_Name = "ordi.umprofile"
Global $Path_Ini = "C:\Users\hymi\Documents\display.ini"
Global $Currend_Display = IniRead($Path_Ini, "CurrentDisplay", "display", "tv")

If $Currend_Display == "lcd" Then
    run($Tv_Name, $Path_Profil)
    IniDelete($Path_Ini, "CurrentDisplay", "display")
    IniWrite($Path_Ini, "CurrentDisplay", "display", "tv")  
    ProcessClose("tv.exe")
    
Else
    run($Lcd_Name, $Path_Profil)
    IniDelete($Path_Ini, "CurrentDisplay", "display")
    IniWrite($Path_Ini, "CurrentDisplay", "display", "lcd") 
    ProcessClose("tv.exe")

EndIf


 
La mise a jour du fichier .ini ne pose aucun probleme mais le profil ne se lance pas :(

La fonction run ne peut lancer que certaine extention ?

Merci d'avance

Re: [..] Problème commande Run

Posté : dim. 29 juin 2008 22:32
par Tlem
hymi a écrit :La fonction run ne peut lancer que certaine extention ?
Effectivement, la commande RUN ne lance que certaines 'extension' comme il l'est dit dans la documentation de cette fonction.
ici => http://www.autoitscript.fr/autoit3/docs ... ns/Run.htm

Si vous regardez un peut plus bas dans cette aide, vous trouverez dans la section Related une liste de commandes en relation.
Je vous suggère de suivre le lien de la fonction 'ShellExecute'.

Re: [..] Problème commande Run

Posté : dim. 29 juin 2008 22:59
par ani
La commande vu du script n'est pas correct.

Quand tu double clique sur un fichier.umprofil est-ce que le programme associé (tv.exe) se lance ?

exemple == run('MonExeTV.EXE "monsieur.umprofil"')

quand on lance une extension celui recherche dans la base de donnée le fichier associé (la plupart son des exe) ou des appel vers des librairie, mais y aura toujours un exe ;)

allez la dessus, j'attend la nouvelle vrs d'au3 (toujours en 3.x.10) $^^

Re: [..] Problème commande Run

Posté : dim. 29 juin 2008 23:03
par Tlem
@ani

hymi à déjà préciser dans l'énoncé de son problème, qu'un double clic sur son fichier "<nom du profil>.umprofile" suffit à activer le profile ...
Donc ShellExecute devrais lui convenir.

Re: [..] Problème commande Run

Posté : dim. 29 juin 2008 23:18
par ani
Oui oui je suis d'accord mais faut me lire jusqu'au bout, je pose la question est j'y répond comme quoi l'extention utilisé par son double click fera l'action de recherche dans le regedit dont il trouvera l'excecuteur utilisé

comme pour tout extension au3 => autoit.exe commande fichier
idem pour IE on lance iexplorer commande lien

run liendeTV.exe fichier.umprofile

la sa commande c'est (run lienUtilisateur\Ecran.umprofil) et close tv.exe

ftype = référence\\\


enfin voilà
je disait juste cela pour dire que sous dos tout est faisable

Sinon shell ;)

Re: [..] Problème commande Run

Posté : dim. 29 juin 2008 23:19
par hymi
Merci bien, ca marche nikel avec ShellExecute, je suis completement passé a coter en cherchant ;x

Bon, ben on vas essayer de faire quelque chose d'un peut plus complexe maintenant ;)

merci encore

Re: [R] Problème commande Run

Posté : lun. 30 juin 2008 13:24
par ani
Je n'avais pas vu pour le fichier ini

tu le delete et tu le recrée, sa sert à rien, le inidelete tu peux le supprimer.

voilàvoilà

Re: [R] Problème commande Run

Posté : lun. 30 juin 2008 13:31
par hymi
oui c'et vrai le ini c'et pas super utile comme je l'ai fais, j'ai remarquer ca en relisant un peut la doc aujourd hui ;)

Commencer son script entre 2 client au taff c'et pas pratique pour tout bien lire dans la doc ^_^