Executer application a partir d'un Ini

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Anubisroner
Niveau 1
Niveau 1
Messages : 12
Enregistré le : mer. 10 mai 2017 04:32
Status : Hors ligne

Executer application a partir d'un Ini

#1

Message par Anubisroner »

Bonjour,
je souhaiterais que mon programme puisse lire un config.ini, qui se présente par exemple comme ceci:
[firefox]=C:\Program Files\Mozilla Firefox\firefox.exe
[chrome]=C:\Program Files (x86)\Google\Chrome\Application\chrome.exe
Actuellement j'utilise:

Case $1
Run ("C:\Program Files\Mozilla Firefox\firefox.exe")
Run ("C:\Program Files (x86)\Google\Chrome\Application\chrome.exe")



Comment je dois faire du coup pour qu'il lise les balises [firefox] etc... du config.ini pour les exécuter?
Et si l'emplacement des applications n'est pas renseignés dans le config.ini, mettre un message.
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2272
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: Executer application a partir d'un Ini

#2

Message par jchd »

Ca aiderait pas mal de formatter le fichier de config au format .INI correct.
Par exemple :

[Navigateur]
firefox==C:\Program Files\Mozilla Firefox\firefox.exe
chrome=C:\Program Files (x86)\Google\Chrome\Application\chrome.exe

A partir de là, les fonction INI* seront utilisables.
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Anubisroner
Niveau 1
Niveau 1
Messages : 12
Enregistré le : mer. 10 mai 2017 04:32
Status : Hors ligne

Re: Executer application a partir d'un Ini

#3

Message par Anubisroner »

Ok ok merci, et je peux faire comment du coup pour que le programme lise le .ini et exécute la bonne application stp?
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: Executer application a partir d'un Ini

#4

Message par mikell »

Dans le nom de la fonction IniRead, ya "ini" et "read". Est-ce que par hasard ....................? :mrgreen:
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Anubisroner
Niveau 1
Niveau 1
Messages : 12
Enregistré le : mer. 10 mai 2017 04:32
Status : Hors ligne

Re: Executer application a partir d'un Ini

#5

Message par Anubisroner »

Humm intéressant xD, je vais look sa du coup, merci ^^
Anubisroner
Niveau 1
Niveau 1
Messages : 12
Enregistré le : mer. 10 mai 2017 04:32
Status : Hors ligne

Re: Executer application a partir d'un Ini

#6

Message par Anubisroner »

Bon j'ai vu comment lire le ini, mais je n'arrive pas à faire exécuter une appli à partir de lui.

J'ai testé sa:

Code : Tout sélectionner

Func Example()
$firefox IniRead($sFilePath, "config", "applications", "firefox")
EndFunc


ShellExecute ($firefox)

Avec sa dans le config.ini :
[applications]
firefox=C:\Program Files\Mozilla Firefox\firefox.exe

Et ne fonctionne pas du coup...
lpau63
Niveau 1
Niveau 1
Messages : 10
Enregistré le : jeu. 23 mars 2017 15:44
Status : Hors ligne

Re: Executer application a partir d'un Ini

#7

Message par lpau63 »

avec un "=" ca peux marcher ;)

$firefox = IniRead($sFilePath, "config", "applications", "firefox")

https://www.autoitscript.fr/autoit3/doc ... niRead.htm
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: Executer application a partir d'un Ini

#8

Message par mikell »

Mais oui... et comme ça, ptet bin encore un peu mieux, va savoir :mrgreen:

Pour mémoire :
filename = @scriptdir & "\config.ini"
section = "applications"
key = "firefox"

$sFilePath = @scriptdir & "\config.ini"
$firefox = IniRead($sFilePath, "applications", "firefox", 0)
If $firefox <> 0 Then ShellExecute ($firefox)
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Anubisroner
Niveau 1
Niveau 1
Messages : 12
Enregistré le : mer. 10 mai 2017 04:32
Status : Hors ligne

Re: Executer application a partir d'un Ini

#9

Message par Anubisroner »

Merci pour la réponse, pour que ça fonctionne je dois directement executer le ShellExecute:

$Config = @scriptdir & "\config.ini"
$firefox = IniRead($Config, "applications", "firefox", 0)

ShellExecute ($firefox)



Et à partir de là, comment je peux faire pour qu'il affiche un message lorsque l'emplacement de firefox n'est pas renseigné dans le config.ini?
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: Executer application a partir d'un Ini

#10

Message par mikell »

Désolé, c'est mon code trop vite fait qui était mal fagoté :oops:

$sFilePath = @scriptdir & "\config.ini"
$firefox = IniRead($sFilePath, "applications", "firefox", "erreur")
If $firefox == "erreur" Then
     Msgbox(0,"", "erreur")
Else
     ShellExecute ($firefox)
EndIf
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Anubisroner
Niveau 1
Niveau 1
Messages : 12
Enregistré le : mer. 10 mai 2017 04:32
Status : Hors ligne

Re: Executer application a partir d'un Ini

#11

Message par Anubisroner »

ça ne fonctionne pas, quand je retire l'emplacement dans le config.ini, il ne se passe rien :(
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: Executer application a partir d'un Ini

#12

Message par mikell »

If $firefox = "erreur" or $firefox = "" Then
:roll:
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Anubisroner
Niveau 1
Niveau 1
Messages : 12
Enregistré le : mer. 10 mai 2017 04:32
Status : Hors ligne

Re: Executer application a partir d'un Ini

#13

Message par Anubisroner »

yess c'est bien ça merci bien ^^

Tout est parfait mon programme a pu pas mal avancer c'est super :D
Répondre