Bonjour,
lucs a écrit:... mais pour le problème dont je parle pas le peine de l'exécuter pour comprendre de quoi il s'agit, en plus ça ne marche pas...
Ben en fait, si, ça peut aider à comprendre la structure de ton programme.
C'est pour ça que j'ai été récupérer la NVDAKey.
Pour répondre de manière courte à ta question : renomme GuiContextMenu en 2GuiContextMenu.
Pour répondre de manière un peu plus longue :
Quel est l'intérêt de créer une 2e GUI ? il me semble qu'il serait plus simple de tout gérer au sein d'une seule GUI.
Soit en jouant sur l'affichage / activation des listbox soit, beaucoup plus simplement en utilisant les onglets (Gui, Tab).
Dans ce cas, il suffit de transformer les "Menus" en onglets, chaque onglet contenant sa ListBox
Autre remarque concernant le fichier ini :
Il est possible de limiter le nombre d'accès en lecture/écriture au fichier ini en utilisant les fonctions de Tuncay :
http://www.autohotkey.com/forum/viewtopic.php?t=46226Ça permet de charger l'ensemble du fichier en mémoire et de travailler directement dessus. c'est largement plus rapide que des accès multiples sur une clé USB.
En outre, ça permettrait aussi d'éclaircir la structure de ton fichier ini. En effet, le gros problème auquel tu vas être confronté va être la renumérotation de toutes tes sections [AppXXX] au moment de la suppression d'une appli.
J'explicite un peu :
Admettons que tu aies 15 applis donc 15 sections numérotées de App1 à App15. Si tu supprimes l'appli 8, tu vas devoir renuméroter les applis 9 à 15 en applis 8 à 14 sinon ton programme ne les traitera pas (il détectera un AppName = false pour TabCount = 8 ).
L'utilisation de la Lib ini de Tuncay te permettra de construire une structure de ce type :
- Code: Tout sélectionner
[Fenetre]
Titre="NVDA Key - Version 2009.1"
StartAppName="NVDA"
Start="nvda\nvda.exe"
Stop="nvda\nvda.exe -q"
[Menus]
MenuName1="Bureautique"
MenuName2="Internet"
MenuName3="Multimédia"
MenuName5="NVDA"
MenuName6="Utilitaires"
[Bureautique]
AppNum1=3
AppNum3=4
[Multimédia]
AppNum1=1
AppNum2=5
AppNum3=3
...
[App1]
AppName="Bloc-notes"
AppPath="apps\scite\Sc201.exe"
[App3]
AppName="Mozilla Thunderbird"
AppPath="apps\ThunderbirdPortable\ThunderbirdPortable.exe"
AppDir="apps\ThunderbirdPortable\"
[App4]
AppName="RadioSure - Ecoutez vos radios favorites"
AppPath="apps\RadioSure\RadioSure.exe"
AppDir="apps\RadioSure"
[App5]
AppName="VLC - Lecteur multimédia"
AppPath="apps\VLCPortable\VLCPortable.exe"
Ensuite, il "suffit" d'utiliser la fonction ini_getAllKeyNames et des boucles loop parse pour récupérer ce que tu veux.
La structure ci-dessus n'est pas parfaite non plus puisqu'il faudra gérer le numéro max des sections App. Elle a l'avantage de permettre l'utilisation d'une appli dans plusieurs "Menus". Exemple, l'App3 est présente dans les menus Bureautique et Multimédia.
Une autre façon d'envisager le fichier ini est la suivante :
- Code: Tout sélectionner
[Menus]
MenuName1="Bureautique"
MenuName2="Internet"
MenuName3="Multimédia"
MenuName5="NVDA"
MenuName6="Utilitaires"
[Bureautique]
AppName1="Bloc-notes"
AppPath1="apps\scite\Sc201.exe"
AppName2="Mozilla Thunderbird"
AppPath2="apps\ThunderbirdPortable\ThunderbirdPortable.exe"
AppDir2="apps\ThunderbirdPortable\"
[Multimédia]
AppName1="RadioSure - Ecoutez vos radios favorites"
AppPath1="apps\RadioSure\RadioSure.exe"
AppDir1="apps\RadioSure"
AppName2="VLC - Lecteur multimédia"
AppPath2="apps\VLCPortable\VLCPortable.exe"
Après, il suffit d'utiliser des boucles pour récupérer ce que l'on souhaite. Ça tombe bien les boucles c'est la spécialité d'AutoHotkey

Vécu : "J'ai une version crackée d'OpenOffice, c'est pour ça qu'elle est en anglais"