Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #RequireAdmin
- #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
- #AutoIt3Wrapper_icon=manette.ico
- #AutoIt3Wrapper_UseX64=n
- #AutoIt3Wrapper_Res_Description=Programme de lancement de jeux
- #AutoIt3Wrapper_Res_Fileversion=1.0.1.3
- #AutoIt3Wrapper_Res_Fileversion_AutoIncrement=y
- #AutoIt3Wrapper_Res_Language=1036
- #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
- #cs ----------------------------------------------------------------------------
- AutoIt Version : 3.3.6.0
- Auteur: Liendil
- Fonction du Script :
- Modèle de Script AutoIt.
- #ce ----------------------------------------------------------------------------
- ; Début du script - Ajouter votre code ci-dessous.
- #include <GUIConstantsEx.au3>
- #include <StaticConstants.au3>
- #include <WindowsConstants.au3>
- #include <ListviewConstants.au3>
- #include <GuiListView.au3>
- #include <GuiImageList.au3>
- #include <WinAPI.au3>
- Opt("GUIOnEventMode", 1)
- ; ####################### CONFIGURATION DES VARIABLES ######################
- If Not FileExists(@ScriptDir & "\ListeJeux.ini") Then
- $file = @ScriptDir & "\ListeJeux.ini"
- iniWriteSection($file, "Jeux", '')
- MsgBox(64, "Information", "Le fichier " & $file & " a été créé avec succès!")
- Else
- $file = @ScriptDir & "\ListeJeux.ini"
- EndIf
- Const $iCX = 20, $iCY = 20, $iColor = 5, $iInitial = 0, $iGrow = 50 ; Configuration des données de la listView
- Const $boutonLarg = 100, $boutonHaut = 30 ;Configuration de la taille des boutons
- ; ####################### CONFIGURATION LISTE IMAGES#######################
- $ListImage = _GUIImageList_Create($iCX, $iCY, $iColor, '', $iInitial, $iGrow)
- ; ####################### CONFIGURATION DE LA GUI #######################
- $GUI = GUICreate("Lanceur de jeux", 300, 450, 0, 0) ;Création de la GUI
- GUISetOnEvent($GUI_EVENT_CLOSE, "FermeGUI") ;Evenement de fermeture
- $BoutonEx = GUICtrlCreateButton( "Lancer!", 10, 350, $boutonLarg, $boutonHaut) ;Création du bouton d'execution d'un jeu
- GUICtrlSetOnEvent($BoutonEx, "Lancer") ;Evenement d'execution grâce au bouton
- $BoutonCancel = GUICtrlCreateButton( "Quitter", 190, 400, $boutonLarg, $boutonHaut) ;Création du bouton Quitter
- GUICtrlSetOnEvent($BoutonCancel, "FermeGui") ;Evenement de fermeture du programme avec le bouton Quitter
- $BoutonAjouter = GUICtrlCreateButton( "Ajouter Jeu", 190, 350, $boutonLarg, $boutonHaut) ; Création du bouton d'ajout d'un jeu
- GUICtrlSetOnEvent($BoutonAjouter, "AjouterJeu") ; Evenement du bouton d'ajout d'un jeu
- $BoutonSupp = GUICtrlCreateButton( "Supprimer Jeu", 10, 400, $boutonLarg, $boutonHaut); Création du bouton de suppression d'un jeu
- GUICtrlSetOnEvent($BoutonSupp,"SupprJeu") ; Evenement du bouton de suppression d'un jeu
- Global $LView = GUICtrlCreateListView("Jeux", 2, 2, 296, 340, $LVS_SORTASCENDING, $LVS_EX_GRIDLINES+$LVS_EX_SUBITEMIMAGES)
- Const $largeurColonne = _GUICtrlListView_SetColumnWidth($LView, 0, 300)
- $ContextMenu = GuiCtrlCreateContextMenu($LView)
- $afficheChemin = GUICtrlCreateMenuItem("Lancer le jeu",$ContextMenu)
- GUICtrlSetOnEvent($afficheChemin,"menuLancer")
- $var = IniReadSection($file, "Jeux") ; Lecture du fichier ini
- If @error Then ; Vérifie si le fichier contient déjà des entrées
- MsgBox(64, "Information", "Il n'y a aucun jeu dans la liste")
- Else ; Si il en contient, il les affiche dans la ListView
- For $i = 1 To $var[0][0]
- _GUIImageList_AddIcon($ListImage, $var[$i][1])
- _GUICtrlListView_SetImageList($LView, $ListImage, 1)
- _GUICtrlListView_AddItem($LView,$var[$i][0], $i-1)
- Next
- EndIf
- GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")
- GuiSetState(@SW_SHOW)
- While 1
- Sleep(1000) ; Boucle infinie
- WEnd
- Func FermeGUI() ; Fonction de fermeture de la GUI
- Exit
- EndFunc
- Func Lancer() ;Fonction de lancement d'un jeu
- Local $isChecked
- Local $recupText
- Local $nomJeu = IniReadSection($file, "Jeux")
- For $i = 0 To _GUICtrlListView_GetItemCount($LView) ; Boucle parcourant tous les éléments de la liste en vérifiant si l'un d'entre eux est sélectionné
- $isChecked = _GUICtrlListView_GetItemFocused($LView, $i)
- If $isChecked Then
- $recupText = _GUICtrlListView_GetItemText($LView,$i)
- For $i = 1 To $nomJeu[0][0]
- If $recupText = $nomJeu[$i][0] Then
- Run($nomJeu[$i][1])
- EndIf
- Next
- EndIf
- Next
- EndFunc
- Func setTip() ; Affiche le chemin d'accès à l'exécutable dans un petit cadre lorsque l'on clique sur l'un des items
- Local $isChecked
- Local $recupText
- Local $nomJeu = IniReadSection($file, "Jeux")
- For $i = 0 To _GUICtrlListView_GetItemCount($LView) ; Boucle parcourant tous les éléments de la liste en vérifiant si l'un d'entre eux est sélectionné
- $isChecked = _GUICtrlListView_GetItemSelected($LView, $i)
- If $isChecked Then
- $recupText = _GUICtrlListView_GetItemText($LView,$i)
- For $i = 1 To $nomJeu[0][0]
- If $recupText = $nomJeu[$i][0] Then
- GUICtrlSetTip($Lview, $nomJeu[$i][1])
- Return
- EndIf
- Next
- EndIf
- Next
- EndFunc
- Func AjouterJeu() ; La fonction ouvre une fenetre pour sélectionner l'exécutable d'un jeu, ensuite demande a l'utilisateur d'entrer le nom de jeu
- ; puis vérifie si le nom de ce jeu n'existe pas déjà. S'il n'existe pas, la fonction crée une entrée dans le fichier ListeJeux.ini
- ; et ajoute le jeu dans la ListView
- Local $nbreJeux
- Local $cheminJeu = FileOpenDialog("Sélectionnez votre jeu", @HomeDrive & "\", "Exectuables (*.exe)", 1 + 2)
- Local $nomJeu = InputBox("Nom de mon jeu", "Tapez le nom de votre jeu ci-dessous")
- If IniRead($file,"Jeux", $nomJeu,'') Then
- MsgBox(16, "ERREUR", "Ce jeu est déjà dans la liste!")
- Return
- Endif
- IniWrite($file, "Jeux", $nomJeu, $cheminJeu)
- _GUIImageList_AddIcon($ListImage, $cheminJeu)
- _GUICtrlListView_SetImageList($LView, $ListImage, 1)
- $nbreJeux = _GUICtrlListView_GetItemCount($LView)
- _GUICtrlListView_AddItem($LView,$nomJeu, $nbreJeux)
- EndFunc
- Func SupprJeu()
- Local $isChecked
- Local $itemIndex
- Local $recupText
- Local $nomJeu = IniReadSection($file, "Jeux")
- For $i = 0 To _GUICtrlListView_GetItemCount($LView) ; Boucle parcourant tous les éléments de la liste en vérifiant si l'un d'entre eux est sélectionné
- $isChecked = _GUICtrlListView_GetItemFocused($LView, $i)
- If $isChecked Then
- $recupText = _GUICtrlListView_GetItemText($LView,$i)
- For $i = 1 To $nomJeu[0][0]
- If $recupText = $nomJeu[$i][0] Then
- Switch MsgBox(4+48, "Attention", "Voulez-vous vraiment supprimer ce jeu de la liste?")
- Case 6
- IniDelete($file,"Jeux",$nomJeu[$i][0])
- _GUICtrlListView_SetItemFocused($LView, $i)
- My_GUICtrlListView_DeleteItem($LView)
- MsgBox(64, "Information", "Jeu supprimé de la liste")
- Case 7
- MsgBox(64, "Information", "Action annulée")
- EndSwitch
- EndIf
- Next
- EndIf
- Next
- EndFunc
- Func menuLancer()
- Local $isChecked
- Local $recupText
- Local $nomJeu = IniReadSection($file, "Jeux")
- For $i = 0 To _GUICtrlListView_GetItemCount($LView) ; Boucle parcourant tous les éléments de la liste en vérifiant si l'un d'entre eux est sélectionné
- $isChecked = _GUICtrlListView_GetItemFocused($LView, $i)
- If $isChecked Then
- $recupText = _GUICtrlListView_GetItemText($LView,$i)
- For $i = 1 To $nomJeu[0][0]
- If $recupText = $nomJeu[$i][0] Then
- Run($nomJeu[$i][1])
- EndIf
- Next
- EndIf
- Next
- EndFunc
- Func ListView_HOTTRACK($iSubItem)
- Local $HotItem = _GUICtrlListView_GetHotItem($LView)
- If $HotItem <> -1 Then _GUICtrlStatusBar_SetText($hStatus, "Hot Item: " & $HotItem & " SubItem: " & $iSubItem)
- EndFunc ;==>ListView_HOTTRACK
- Func WM_NOTIFY($hWnd, $iMsg, $iwParam, $ilParam)
- #forceref $hWnd, $iMsg, $iwParam
- Local $hWndFrom, $iIDFrom, $iCode, $tNMHDR, $hWndListView, $tInfo
- $hWndListView = $LView
- If Not IsHWnd($LView) Then $hWndListView = GUICtrlGetHandle($LView)
- $tNMHDR = DllStructCreate($tagNMHDR, $ilParam)
- $hWndFrom = HWnd(DllStructGetData($tNMHDR, "hWndFrom"))
- $iIDFrom = DllStructGetData($tNMHDR, "IDFrom")
- $iCode = DllStructGetData($tNMHDR, "Code")
- Switch $hWndFrom
- Case $hWndListView
- Switch $iCode
- Case $NM_DBLCLK ; Sent by a list-view control when the user double-clicks an item with the left mouse button
- $tInfo = DllStructCreate($tagNMITEMACTIVATE, $ilParam)
- Lancer()
- Case $NM_CLICK ; The user has clicked the left mouse button within the control
- Local $tinfo = DllStructCreate($tagNMMOUSE, $ilParam)
- $hWndFrom = HWnd(DllStructGetData($tinfo, "hWndFrom"))
- $iIDFrom = DllStructGetData($tinfo, "IDFrom")
- $iCode = DllStructGetData($tinfo, "Code")
- setTip()
- Return True ; indicate that the mouse click was handled and suppress default processing by the system
- ;~ Return FALSE ;to allow default processing of the click.
- Case $LVN_HOTTRACK ; Sent by a list-view control when the user moves the mouse over an item
- $tInfo = DllStructCreate($tagNMLISTVIEW, $ilParam)
- GUICtrlSetTip($LView, '')
- Return 0 ; allow the list view to perform its normal track select processing.
- EndSwitch
- EndSwitch
- EndFunc ;==>WM_NOTIFY
- Func My_GUICtrlListView_DeleteItem($hWnd, $Item = -1)
- If Not IsHWnd($hWnd) Then $hWnd = GUICtrlGetHandle($hWnd)
- If $Item = -1 Then $Item = _GUICtrlListView_GetSelectedIndices($hWnd)
- _GUICtrlListView_DeleteItem($hWnd, $Item)
- EndFunc ;==>My_GUICtrlListView_DeleteItem
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement