#include #include #include #include #include #include #include #include #Include #include #include #include #include Global $IdBtn[1] __steam_window('STEAM - username', 1000, 600) ; WIDTH NOT SMALLER THEN 400 | HEIGHT NOT SMALLER THEN 200 === TRUST ME #cs ============================== EXAMPLE SECTION ================== #ce ============================== Func __steam_window($sWINDOW_TITLE, $iWINDOW_WIDTH, $iWINDOW_HEIGHT) Local $IdMin Local $oWINDOW = GUICreate($sWINDOW_TITLE, $iWINDOW_WIDTH, $iWINDOW_HEIGHT, -1, -1, BitOR($WS_POPUP, $WS_SYSMENU, $WS_MINIMIZEBOX), $WS_EX_LAYERED) ; BitOR($WS_EX_TOOLWINDOW, $WS_EX_LAYERED)) GUISetFont(8, 400, 0, 'Tahoma') GUISetBkColor(0x494E49) #cs ============================== EXAMPLE SECTION ================== #ce ============================== GUICtrlCreatePic('hdr.bmp', 0, 0, $iWINDOW_WIDTH - 16, 20, $SS_NOTIFY, $GUI_WS_EX_PARENTDRAG) GUICtrlCreatePic('hdr.bmp', $iWINDOW_WIDTH - 16, 0, 11, 5, $SS_NOTIFY, $GUI_WS_EX_PARENTDRAG) GUICtrlCreatePic('hdr.bmp', $iWINDOW_WIDTH - 16, 16, 11, 4, $SS_NOTIFY, $GUI_WS_EX_PARENTDRAG) GUICtrlCreatePic('hdr.bmp', $iWINDOW_WIDTH - 5, 0, 5, 20, $SS_NOTIFY, $GUI_WS_EX_PARENTDRAG) #cs ============================== EXAMPLE SECTION ================== #ce ============================== GUICtrlCreateGraphic(0, 20, 1, $iWINDOW_HEIGHT) GUICtrlSetColor(-1, 0x686A65) ;couleur de contour gauche de l'entête GUICtrlCreateGraphic($iWINDOW_WIDTH - 1, 20, 1, $iWINDOW_HEIGHT) GUICtrlSetColor(-1, 0x686A65) ; couleur de contour de l'entête GUICtrlCreateGraphic(0, $iWINDOW_HEIGHT - 1, $iWINDOW_WIDTH, 1) GUICtrlSetColor(-1, 0x686A65) ;couleur du bas de la fenetre "effet de profondeur" #cs ============================== EXAMPLE SECTION ================== #ce ============================== Local $oCLOSE = GUICtrlCreatePic('cls.bmp', $iWINDOW_WIDTH - 16, 5, 11, 11, $SS_NOTIFY, $GUI_WS_EX_PARENTDRAG) Local $oLABELHEADER = GUICtrlCreateLabel($sWINDOW_TITLE, 6, 0, $iWINDOW_WIDTH - 22, 20, $SS_CENTERIMAGE) GUICtrlSetColor(-1, 0x45cbee) ;couleur du titre de la fenetre GUICtrlSetBkColor(-1, 0x191919) ; couleur de l'entete principal #cs ============================== EXAMPLE SECTION ================== #ce ============================== __IpcConnexion() ; ================= ; ================= __ServerList() #cs ============================== EXAMPLE SECTION ================== #ce ============================== GUICtrlCreateGraphic(1, 20, 160, $iWINDOW_HEIGHT - 21) GUICtrlSetColor(-1, 0x464646) GUICtrlSetBkColor(-1, 0x464646) GUICtrlCreateGraphic(158, 20, 1, $iWINDOW_HEIGHT - 21) GUICtrlSetColor(-1, 0x3D423D) GUICtrlCreateGraphic(159, 20, 1, $iWINDOW_HEIGHT - 21) GUICtrlSetColor(-1, 0x424742) GUICtrlCreateGraphic(160, 20, 1, $iWINDOW_HEIGHT - 21) GUICtrlSetColor(-1, 0x454A45) #cs ============================== EXAMPLE SECTION ================== #ce ============================== GUICtrlCreateGraphic(170, 30, $iWINDOW_WIDTH - 180, $iWINDOW_HEIGHT - 40) ; THIS CONTROL NEEDS TO BE LAST DUE TO OVERLAY ISSUES GUICtrlSetColor(-1, 0x686A65) #cs ============================== EXAMPLE SECTION ================== #ce ============================== GUICtrlCreatePic('cnr.bmp', 0, 0, 1, 1, $SS_NOTIFY, $GUI_WS_EX_PARENTDRAG) GUICtrlCreatePic('cnr.bmp', $iWINDOW_WIDTH - 1, 0, 1, 1, $SS_NOTIFY, $GUI_WS_EX_PARENTDRAG) GUICtrlCreatePic('cnr.bmp', 0, $iWINDOW_HEIGHT - 1, 1, 1, $SS_NOTIFY, $GUI_WS_EX_PARENTDRAG) GUICtrlCreatePic('cnr.bmp', $iWINDOW_WIDTH - 1, $iWINDOW_HEIGHT - 1, 1, 1, $SS_NOTIFY, $GUI_WS_EX_PARENTDRAG) WinSetTrans($oWINDOW,'',248) GUISetState(@SW_SHOW) #cs ============================== EXAMPLE SECTION ================== #ce ============================== While 1 Local $eMSG = GUIGetMsg() For $i = 1 To UBound($IdBtn)-1 If $eMSG = $IdBtn[$i] Then Dim $IdList = __ID_Event(GUICtrlRead($IdBtn[$i])) __ViewEvent($oWINDOW,GUICtrlRead($IdBtn[$i]),$IdList) EndIf Next Switch $eMSG Case $GUI_EVENT_CLOSE ;Local $iWINDOW_TRANS ;$iWINDOW_TRANS = 120 ;For $iWINDOW_TRANS = 255 To 0 Step -10 ;If $iWINDOW_TRANS > 0 Then WinSetTrans($oWINDOW,'',$iWINDOW_TRANS) ;Sleep(10) ;Next Exit Case $oCLOSE Local $iWINDOW_TRANS For $iWINDOW_TRANS = 255 To 0 Step -10 If $iWINDOW_TRANS > 0 Then WinSetTrans($oWINDOW,'',$iWINDOW_TRANS) Sleep(100) Next Exit EndSwitch WEnd EndFunc #cs ============================== EXAMPLE SECTION ================== #ce ============================== Func __Online($servername) Local $connect = Ping($servername,250) If $connect Then Return True Else Return @error EndIf EndFunc #cs ============================== EXAMPLE SECTION ================== #ce ============================== Func __ServerList() Local $key = IniReadSectionNames(@ScriptDir & "\menuauto.ini") Local $nbrSection = $key[0] Local $posmenu = 50 Local $i Local $vArray If @error Then MsgBox(4096, "", "Error occurred, probably no INI file.") Else For $i = 1 To $nbrSection $value = IniReadSection("menuauto.ini", $key[$i]) Local $OnLineState = __Online($key[$i]) If $OnLineState == True Then GUICtrlCreateButton("", 8, $posmenu, 22, 22) GUICtrlSetBkColor(-1, 0x00FF00) GUICtrlSetState(-1, $GUI_DISABLE) $vArray = GUICtrlCreateButton($key[$i], 30, $posmenu, 120, 22) _ArrayAdd($IdBtn,$vArray) GUICtrlSetFont(-1, 8, 800, 0, 'Tahoma') Else GUICtrlCreateButton("", 8, $posmenu, 22, 22) GUICtrlSetBkColor(-1, 0xFF0000) GUICtrlSetState(-1, $GUI_DISABLE) $vArray = GUICtrlCreateButton($key[$i], 30, $posmenu, 120, 22) _ArrayAdd($IdBtn,$vArray) GUICtrlSetFont(-1, 8, 800, 0, 'Tahoma') GUICtrlSetState ( $IdBtn[$i], $GUI_DISABLE ) EndIf $posmenu += 30 Next Return $IdBtn EndIf EndFunc #cs ============================== EXAMPLE SECTION ================== #ce ============================== Func __ViewEvent($GUI,$servername,$ID) Local $aEvt Local $hListView = GUICtrlCreateListView("", 190, 60, 700, 300) _GUICtrlListView_SetExtendedListViewStyle($hListView, BitOR($LVS_EX_GRIDLINES, $LVS_EX_FULLROWSELECT)) GUICtrlSetBkColor($hListView, 0x00ff00) ; Add columns _GUICtrlListView_InsertColumn($hListView, 0, "Record number", 700/2) _GUICtrlListView_InsertColumn($hListView, 1, "Type", 700/2) _GUICtrlListView_InsertColumn($hListView, 2, "Source", 700/2) $row = 0 For $i = 1 To $ID[0]-1 ;$wbemFlagReturnImmediately = 0x10 $wbemFlagForwardOnly = 0x20 $wbemFlagReturnWhenComplete = 0x0 $colItems = "" $strComputer = $servername $objWMIService = ObjGet("winmgmts:" _ & "{impersonationLevel=impersonate}!\\" _ & $strComputer & "\root\cimv2") $colItems = $objWMIService.ExecQuery("Select RecordNumber , Type , SourceName from Win32_NTLogEvent " _ & "where Logfile = 'Application' " _ & "AND RecordNumber = " & $ID[$i] , _ "WQL", _ $wbemFlagReturnWhenComplete + $wbemFlagForwardOnly) If IsObj($colItems) then For $objItem In $colItems ; Add items _GUICtrlListView_AddItem($hListView, $objItem.RecordNumber, $row) ;=== "Row 1: Col 1" _GUICtrlListView_AddSubItem($hListView, $row, $objItem.Type, 1) ;=== "Row 1: Col 2" _GUICtrlListView_AddSubItem($hListView, $row,$objItem.SourceName, 2) ;=== "Row 1: Col 3""Row 1: Col 3" Next EndIf $row += 1 _GUICtrlListView_HideColumn($hListView, 0) Next GUISetState(@SW_SHOW) EndFunc #cs ============================== EXAMPLE SECTION ================== #ce ============================== Func __ID_Event($servername) $wbemFlagReturnImmediately = 0x10 $wbemFlagForwardOnly = 0x20 $colItems = "" $strComputer = $servername $objWMIService = ObjGet("winmgmts:" _ & "{impersonationLevel=impersonate}!\\" _ & $strComputer & "\root\cimv2") $colItems = $objWMIService.ExecQuery("Select RecordNumber from Win32_NTLogEvent " _ & "where Logfile = 'Application' " _ & "AND TimeGenerated >= '20120326' " _ & " And EventType = 1" _ & " Or EventType = 2", _ "WQL", _ $wbemFlagReturnImmediately + $wbemFlagForwardOnly) If IsObj($colItems) then Local $avArray[1] $avArray[0] = '' For $objItem In $colItems _ArrayAdd($avArray,$objItem.RecordNumber) Next Else Msgbox(0,"WMI Output","No WMI Objects Found for class: " & "Win32_NTLogEvent" ) Endif Local $rows = UBound($avArray) $avArray[0] = $rows Return $avArray EndFunc #cs ============================== EXAMPLE SECTION ================== #ce ============================== Func __IpcConnexion() Local $servername = IniReadSectionNames("menuauto.ini") Local $nbrSection = $servername[0] Local $i For $i = 1 To $nbrSection IniReadSection("menuauto.ini", $servername[$i]) ; cs ================ ; création d'une fenêtres pop-up où défilent les informations de connexion ; ce ================ ;GUICreate("Connexion",300,50,1,1,$WS_POPUPWINDOW,$WS_EX_TOPMOST) ;GUISetFont(12,400,"","Times New Roman") ;GUICtrlCreateLabel("Connexion au serveur "& $key[$i]&" : En Cours...",20,30,400) ;GUICtrlSetColor(3,0x990A0A) ;GUICtrlCreateLabel("Veuillez patienter !",20,5,400) ;GUICtrlSetFont(4,14,100) Local $encrypt_login=RegRead ("HKEY_LOCAL_MACHINE\SOFTWARE\Connexion","login") ; récupération de la clé login dans la base de registre Local $encrypt_pass=RegRead ("HKEY_LOCAL_MACHINE\SOFTWARE\Connexion","pass") ; récupération de la clé pass par la base de registre Local $login=_StringEncrypt(0,$encrypt_login,"ùlggtjj54gh") ; décryptage de la variable $encrypt_login Local $pass=_StringEncrypt(0,$encrypt_pass,"guj554d255o") ; décryptage de la variable $encrypt_pass if $login<>"" Then ; test l'existence de la clé login dans la base de registre For $i=0 To UBound($servername) - 1 ; cs =============== ; mis à jour de la fenêtre pop-up ; ce =============== ;GUICtrlSetData(3,"Connexion au serveur "& $servername[$i] &" : En Cours...") ; cs =============== ; connexion au serveur ; ce =============== _WinNet_AddConnection2("","\\"&$servername[$i],$login,$pass,1) If @error=53 then ; cs =============== ; erreur de connexion : serveur injoignable ; ce =============== MsgBox (0+16,"Erreur","Le serveur "&$servername[$i]&" est injoignable !"&@cr&@CR&"Connexion Impossible !") ElseIf @error=1326 Or @error=1219 then ; cs ================ ; erreur de connexion : login ou mot de passe ; ce ================ MsgBox (0+16,"Erreur","Erreur de Login ou de mot de passe sur le serveur "&$servername[$i]&@cr&@CR&"Connexion Impossible !") ; cs ================= ; lancement de la fonction _save_login_pass : qui va permettre de saisir un nouveau login et mot de passe ; ce ================= __save_login_pass() ; cs ================= ; erreur de connexion : autres ; ce ================= ElseIf @error<>0 Then MsgBox (0+16,"Erreur","Erreur de connexion sur le serveur "&$servername[$i]&@cr&@CR&"Connexion Impossible !") EndIf Next Else ; cs ================ ; lancement de la fonction _save_login_pass : qui va permettre de saisir un nouveau login et mot de passe ; ce ================ __save_login_pass() EndIf Next EndFunc #cs ============================== EXAMPLE SECTION ================== #ce ============================== Func __save_login_pass() Global $win_login_pass = GUICreate("Paramètres de Connexion", 277, 164, -1, -1) Global $lab_Login = GUICtrlCreateLabel("Nom d'utilisateur :", 24, 40, 100, 20) Global $lab_pass = GUICtrlCreateLabel("Mot de Passe :", 24, 72, 75, 17) Global $txt_login = GUICtrlCreateInput("", 114, 40, 121, 21) Global $txt_pass = GUICtrlCreateInput("", 114, 72, 121, 21) Global $bt_ok = GUICtrlCreateButton("OK", 56, 112, 75, 25) Global $bt_cancel = GUICtrlCreateButton("Annuler", 152, 112, 75, 25) Global $icon = GUICtrlCreateIcon("shell32.dll", 45, 1, 1) GUISetState(@SW_SHOW) While 1 $login=GUICtrlRead($txt_login) ; lecture du login dans la boîte input $txt_login $pass=GUICtrlRead($txt_pass) ; lecture du boîte passe dans la boîte input $txt_pass $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $bt_ok If $login="" Or $pass="" Then ; test si l'utilisateur à entrer un login ou un mot de passe MsgBox (0+16,"Erreur","Erreur vous devez indiquer un Login et un mot de passe !") ContinueLoop ; retour dans la boucle While EndIf $encrypt_login=_StringEncrypt(1,$login,"ùlggtjj54gh") ; cryptage de la variable $login $encrypt_pass=_StringEncrypt(1,$pass,"guj554d255o") ; cryptage de la variable $pass RegWrite ("HKEY_LOCAL_MACHINE\SOFTWARE\Connexion","login","REG_SZ",$encrypt_login) ; écriture de la variable $encrypt_login dans la base de registre RegWrite ("HKEY_LOCAL_MACHINE\SOFTWARE\Connexion","pass","REG_SZ",$encrypt_pass) ; écriture de la variable $encrypt_pass dans la base de registre ExitLoop Case $bt_cancel Exit EndSwitch WEnd GUIDelete() EndFunc