Advertisement
Guest User

Untitled

a guest
Aug 15th, 2017
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
AutoIt 9.70 KB | None | 0 0
  1. #RequireAdmin
  2. #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
  3. #AutoIt3Wrapper_icon=manette.ico
  4. #AutoIt3Wrapper_UseX64=n
  5. #AutoIt3Wrapper_Res_Description=Programme de lancement de jeux
  6. #AutoIt3Wrapper_Res_Fileversion=1.0.1.3
  7. #AutoIt3Wrapper_Res_Fileversion_AutoIncrement=y
  8. #AutoIt3Wrapper_Res_Language=1036
  9. #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
  10. #cs ----------------------------------------------------------------------------
  11.  
  12.  AutoIt Version : 3.3.6.0
  13.  Auteur:         Liendil
  14.  
  15.  Fonction du Script :
  16.     Modèle de Script AutoIt.
  17.  
  18. #ce ----------------------------------------------------------------------------
  19.  
  20. ; Début du script - Ajouter votre code ci-dessous.
  21.  
  22. #include <GUIConstantsEx.au3>
  23. #include <StaticConstants.au3>
  24. #include <WindowsConstants.au3>
  25. #include <ListviewConstants.au3>
  26. #include <GuiListView.au3>
  27. #include <GuiImageList.au3>
  28. #include <WinAPI.au3>
  29.  
  30. Opt("GUIOnEventMode", 1)
  31.  
  32.  
  33. ;  ####################### CONFIGURATION DES VARIABLES ######################
  34.  
  35. If Not FileExists(@ScriptDir & "\ListeJeux.ini") Then
  36.  
  37.             $file = @ScriptDir & "\ListeJeux.ini"
  38.             iniWriteSection($file, "Jeux", '')
  39.             MsgBox(64, "Information", "Le fichier " & $file & " a été créé avec succès!")
  40.         Else
  41.             $file = @ScriptDir & "\ListeJeux.ini"
  42. EndIf
  43.  
  44. Const $iCX = 20, $iCY = 20, $iColor = 5, $iInitial = 0, $iGrow = 50 ; Configuration des données de la listView
  45. Const $boutonLarg = 100, $boutonHaut = 30 ;Configuration de la taille des boutons
  46.  
  47. ;  ####################### CONFIGURATION LISTE IMAGES#######################
  48.  
  49. $ListImage = _GUIImageList_Create($iCX, $iCY, $iColor, '', $iInitial, $iGrow)
  50.  
  51. ;  ####################### CONFIGURATION DE LA GUI #######################
  52. $GUI = GUICreate("Lanceur de jeux", 300, 450, 0, 0) ;Création de la GUI
  53. GUISetOnEvent($GUI_EVENT_CLOSE, "FermeGUI") ;Evenement de fermeture
  54. $BoutonEx = GUICtrlCreateButton( "Lancer!", 10, 350, $boutonLarg, $boutonHaut) ;Création du bouton d'execution d'un jeu
  55. GUICtrlSetOnEvent($BoutonEx, "Lancer") ;Evenement d'execution grâce au bouton
  56. $BoutonCancel = GUICtrlCreateButton( "Quitter", 190, 400, $boutonLarg, $boutonHaut) ;Création du bouton Quitter
  57. GUICtrlSetOnEvent($BoutonCancel, "FermeGui") ;Evenement de fermeture du programme avec le bouton Quitter
  58. $BoutonAjouter = GUICtrlCreateButton( "Ajouter Jeu", 190, 350, $boutonLarg, $boutonHaut) ; Création du bouton d'ajout d'un jeu
  59. GUICtrlSetOnEvent($BoutonAjouter, "AjouterJeu") ; Evenement du bouton d'ajout d'un jeu
  60. $BoutonSupp = GUICtrlCreateButton( "Supprimer Jeu", 10, 400, $boutonLarg, $boutonHaut); Création du bouton de suppression d'un jeu
  61. GUICtrlSetOnEvent($BoutonSupp,"SupprJeu") ; Evenement du bouton de suppression d'un jeu
  62. Global $LView = GUICtrlCreateListView("Jeux", 2, 2, 296, 340, $LVS_SORTASCENDING, $LVS_EX_GRIDLINES+$LVS_EX_SUBITEMIMAGES)
  63. Const $largeurColonne = _GUICtrlListView_SetColumnWidth($LView, 0, 300)
  64.  
  65.  
  66. $ContextMenu = GuiCtrlCreateContextMenu($LView)
  67. $afficheChemin = GUICtrlCreateMenuItem("Lancer le jeu",$ContextMenu)
  68. GUICtrlSetOnEvent($afficheChemin,"menuLancer")
  69.  
  70. $var = IniReadSection($file, "Jeux")                                ; Lecture du fichier ini
  71.  
  72. If @error Then                                                      ; Vérifie si le fichier contient déjà des entrées
  73.     MsgBox(64, "Information", "Il n'y a aucun jeu dans la liste")
  74. Else                                                                ; Si il en contient, il les affiche dans la ListView
  75.     For $i = 1 To $var[0][0]
  76.  
  77.         _GUIImageList_AddIcon($ListImage, $var[$i][1])
  78.         _GUICtrlListView_SetImageList($LView, $ListImage, 1)
  79.         _GUICtrlListView_AddItem($LView,$var[$i][0], $i-1)
  80.     Next
  81. EndIf
  82.  
  83.  
  84. GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")
  85.  
  86. GuiSetState(@SW_SHOW)
  87.  
  88.  
  89. While 1
  90.     Sleep(1000)                                                     ; Boucle infinie
  91. WEnd
  92.  
  93. Func FermeGUI()                                                     ; Fonction de fermeture de la GUI
  94.     Exit
  95. EndFunc
  96.  
  97. Func Lancer()                                                       ;Fonction de lancement d'un jeu
  98.  
  99.     Local $isChecked
  100.     Local $recupText
  101.     Local $nomJeu = IniReadSection($file, "Jeux")
  102.  
  103.     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é
  104.  
  105.             $isChecked = _GUICtrlListView_GetItemFocused($LView, $i)
  106.  
  107.             If $isChecked Then
  108.                 $recupText = _GUICtrlListView_GetItemText($LView,$i)
  109.  
  110.                 For $i = 1 To $nomJeu[0][0]
  111.  
  112.                     If $recupText = $nomJeu[$i][0] Then
  113.                         Run($nomJeu[$i][1])
  114.                     EndIf
  115.  
  116.                 Next
  117.             EndIf
  118.  
  119.     Next
  120. EndFunc
  121.  
  122. Func setTip()       ; Affiche le chemin d'accès à l'exécutable dans un petit cadre lorsque l'on clique sur l'un des items
  123.  
  124.     Local $isChecked
  125.     Local $recupText
  126.     Local $nomJeu = IniReadSection($file, "Jeux")
  127.  
  128.     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é
  129.  
  130.             $isChecked = _GUICtrlListView_GetItemSelected($LView, $i)
  131.  
  132.             If $isChecked Then
  133.                 $recupText = _GUICtrlListView_GetItemText($LView,$i)
  134.  
  135.                 For $i = 1 To $nomJeu[0][0]
  136.  
  137.                     If $recupText = $nomJeu[$i][0] Then
  138.                         GUICtrlSetTip($Lview, $nomJeu[$i][1])
  139.                         Return
  140.                     EndIf
  141.  
  142.                 Next
  143.             EndIf
  144.  
  145.     Next
  146. EndFunc
  147.  
  148. 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
  149.                             ; 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
  150.                             ; et ajoute le jeu dans la ListView
  151.  
  152.     Local $nbreJeux
  153.     Local $cheminJeu = FileOpenDialog("Sélectionnez votre jeu", @HomeDrive & "\", "Exectuables (*.exe)", 1 + 2)
  154.     Local $nomJeu = InputBox("Nom de mon jeu", "Tapez le nom de votre jeu ci-dessous")
  155.  
  156.     If IniRead($file,"Jeux", $nomJeu,'') Then
  157.         MsgBox(16, "ERREUR", "Ce jeu est déjà dans la liste!")
  158.         Return
  159.     Endif
  160.  
  161.     IniWrite($file, "Jeux", $nomJeu, $cheminJeu)
  162.  
  163.     _GUIImageList_AddIcon($ListImage, $cheminJeu)
  164.     _GUICtrlListView_SetImageList($LView, $ListImage, 1)
  165.     $nbreJeux = _GUICtrlListView_GetItemCount($LView)
  166.     _GUICtrlListView_AddItem($LView,$nomJeu, $nbreJeux)
  167. EndFunc
  168.  
  169. Func SupprJeu()
  170.  
  171.     Local $isChecked
  172.     Local $itemIndex
  173.     Local $recupText
  174.     Local $nomJeu = IniReadSection($file, "Jeux")
  175.  
  176.  
  177. 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é
  178.  
  179.             $isChecked = _GUICtrlListView_GetItemFocused($LView, $i)
  180.  
  181.             If $isChecked Then
  182.                 $recupText = _GUICtrlListView_GetItemText($LView,$i)
  183.  
  184.                 For $i = 1 To $nomJeu[0][0]
  185.  
  186.                     If $recupText = $nomJeu[$i][0] Then
  187.                         Switch MsgBox(4+48, "Attention", "Voulez-vous vraiment supprimer ce jeu de la liste?")
  188.  
  189.                             Case 6
  190.                                 IniDelete($file,"Jeux",$nomJeu[$i][0])
  191.                                 _GUICtrlListView_SetItemFocused($LView, $i)
  192.                                 My_GUICtrlListView_DeleteItem($LView)
  193.  
  194.                                 MsgBox(64, "Information", "Jeu supprimé de la liste")
  195.                             Case 7
  196.                                 MsgBox(64, "Information", "Action annulée")
  197.  
  198.  
  199.                         EndSwitch
  200.                     EndIf
  201.  
  202.                 Next
  203.             EndIf
  204.  
  205.     Next
  206.  
  207. EndFunc
  208.  
  209. Func menuLancer()
  210.  
  211.     Local $isChecked
  212.     Local $recupText
  213.     Local $nomJeu = IniReadSection($file, "Jeux")
  214.  
  215.     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é
  216.  
  217.             $isChecked = _GUICtrlListView_GetItemFocused($LView, $i)
  218.  
  219.             If $isChecked Then
  220.                 $recupText = _GUICtrlListView_GetItemText($LView,$i)
  221.  
  222.                 For $i = 1 To $nomJeu[0][0]
  223.  
  224.                     If $recupText = $nomJeu[$i][0] Then
  225.                         Run($nomJeu[$i][1])
  226.                     EndIf
  227.  
  228.                 Next
  229.  
  230.             EndIf
  231.  
  232.     Next
  233. EndFunc
  234.  
  235. Func ListView_HOTTRACK($iSubItem)
  236.     Local $HotItem = _GUICtrlListView_GetHotItem($LView)
  237.     If $HotItem <> -1 Then _GUICtrlStatusBar_SetText($hStatus, "Hot Item: " & $HotItem & " SubItem: " & $iSubItem)
  238. EndFunc   ;==>ListView_HOTTRACK
  239.  
  240. Func WM_NOTIFY($hWnd, $iMsg, $iwParam, $ilParam)
  241.     #forceref $hWnd, $iMsg, $iwParam
  242.     Local $hWndFrom, $iIDFrom, $iCode, $tNMHDR, $hWndListView, $tInfo
  243.     $hWndListView = $LView
  244.     If Not IsHWnd($LView) Then $hWndListView = GUICtrlGetHandle($LView)
  245.  
  246.     $tNMHDR = DllStructCreate($tagNMHDR, $ilParam)
  247.     $hWndFrom = HWnd(DllStructGetData($tNMHDR, "hWndFrom"))
  248.     $iIDFrom = DllStructGetData($tNMHDR, "IDFrom")
  249.     $iCode = DllStructGetData($tNMHDR, "Code")
  250.     Switch $hWndFrom
  251.         Case $hWndListView
  252.             Switch $iCode
  253.  
  254.                 Case $NM_DBLCLK ; Sent by a list-view control when the user double-clicks an item with the left mouse button
  255.                     $tInfo = DllStructCreate($tagNMITEMACTIVATE, $ilParam)
  256.                         Lancer()
  257.  
  258.                 Case $NM_CLICK ; The user has clicked the left mouse button within the control
  259.                     Local $tinfo = DllStructCreate($tagNMMOUSE, $ilParam)
  260.                     $hWndFrom = HWnd(DllStructGetData($tinfo, "hWndFrom"))
  261.                     $iIDFrom = DllStructGetData($tinfo, "IDFrom")
  262.                     $iCode = DllStructGetData($tinfo, "Code")
  263.  
  264.                     setTip()
  265.  
  266.                     Return True ; indicate that the mouse click was handled and suppress default processing by the system
  267. ;~                  Return FALSE ;to allow default processing of the click.
  268.  
  269.                 Case $LVN_HOTTRACK ; Sent by a list-view control when the user moves the mouse over an item
  270.                     $tInfo = DllStructCreate($tagNMLISTVIEW, $ilParam)
  271.                         GUICtrlSetTip($LView, '')
  272.                     Return 0 ; allow the list view to perform its normal track select processing.
  273.  
  274.             EndSwitch
  275.     EndSwitch
  276. EndFunc   ;==>WM_NOTIFY
  277.  
  278.  
  279.  
  280. Func My_GUICtrlListView_DeleteItem($hWnd, $Item = -1)
  281.         If Not IsHWnd($hWnd) Then $hWnd = GUICtrlGetHandle($hWnd)
  282.         If $Item = -1 Then $Item = _GUICtrlListView_GetSelectedIndices($hWnd)
  283.         _GUICtrlListView_DeleteItem($hWnd, $Item)
  284. EndFunc   ;==>My_GUICtrlListView_DeleteItem
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement