Code : Tout sélectionner
; *** Start added by AutoIt3Wrapper ***
#include <ListBoxConstants.au3>
; *** End added by AutoIt3Wrapper ***
#NoTrayIcon
#region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Version=Beta
#AutoIt3Wrapper_Icon=Res\KillWindow.ico
#AutoIt3Wrapper_Outfile=KillWindow 4 [beta].exe
#AutoIt3Wrapper_Outfile_x64=KillWindow 4 [beta]_x64.exe
#AutoIt3Wrapper_Res_Language=1036
#AutoIt3Wrapper_Add_Constants=n
#AutoIt3Wrapper_Run_Tidy=y
#endregion ;**** Directives created by AutoIt3Wrapper_GUI ****
#cs
Usage: process.exe [-v] [-t] [-c]
process.exe [-q] [Process Name/PID] [timeout sec(optional)]
process.exe [-k] [-s] [-r] [Process Name/PID]
process.exe [-p] [Process Name/PID] {RealTime|High|AboveNormal|
Normal|BelowNormal|Low}
process.exe [-a] [Process Name/PID] [Mask(To Set)]
-v Retourne une liste de Process. Peut être récupérée avec StrRead en lancant Process.exe avec RunWait()
-t View Kernel and User CPU Times.
-c View Process Creation Times.
-q Send WM_CLOSE Message. Default timeout is 60 Sec
-k Kill Process. (Terminate)
-s Suspend Process.
-r Resume Suspended Process.
-p Set Process Priority.
-a Get/Set Affinity Mask of Process.
#ce
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <GUIListBox.au3>
#include <TabConstants.au3>
#include <WindowsConstants.au3>
#include <Constants.au3>
#include <Array.au3>
Opt("GUIOnEventMode", 1)
Opt("TrayMenuMode", 1)
Opt("TrayIconDebug", 1)
Opt("GUICloseOnEsc", 0)
Opt("WinTitleMatchMode", 3)
If StringInStr(@ScriptDir, "|") == "0" Then
Global $chemin_script = @ScriptDir & "\"
ElseIf StringInStr(@ScriptDir, "|") <> "0" Then
Global $chemin_script = @ScriptDir
EndIf
$array_options = IniReadSection($chemin_script & "Res\Settings.ini", "SETTINGS")
Dim $array_process_pause[1000] = [""]
#region ### START Koda GUI section ### Form=D:\Programmes en cours d'écriture\AutoIt\KillWindow\KillWindow 4 [beta].kxf
Global $fenetre = GUICreate("KillWindow 4 [beta]", 501, 321, -1, -1)
Global $menu_fichier = GUICtrlCreateMenu("&Fichier")
Global $menu_fichier_lancer = GUICtrlCreateMenuItem("&Lancer..." & @TAB & "Ctrl+L", $menu_fichier)
GUICtrlSetOnEvent(-1, "menu_fichier_lancerClick")
Global $menu_fichier_kill = GUICtrlCreateMenuItem("&Kill" & @TAB & "Ctrl+K", $menu_fichier)
GUICtrlSetState(-1, $GUI_DISABLE)
GUICtrlSetOnEvent(-1, "menu_fichier_killClick")
Global $menu_fichier_flasher = GUICtrlCreateMenuItem("&Flasher" & @TAB & "Ctrl+F", $menu_fichier)
GUICtrlSetState(-1, $GUI_DISABLE)
GUICtrlSetOnEvent(-1, "menu_fichier_flasherClick")
Global $menu_fichier_priorite = GUICtrlCreateMenu("&Priorité", $menu_fichier)
GUICtrlSetState(-1, $GUI_DISABLE)
Global $menu_fichier_priorite_temps_reel = GUICtrlCreateMenuItem("&Temps réel", $menu_fichier_priorite, -1, 1)
GUICtrlSetOnEvent(-1, "menu_fichier_priorite_temps_reelClick")
Global $menu_fichier_priorite_haute = GUICtrlCreateMenuItem("&Haute", $menu_fichier_priorite, -1, 1)
GUICtrlSetOnEvent(-1, "menu_fichier_priorite_hauteClickClick")
Global $menu_fichier_priorite_sup_normale = GUICtrlCreateMenuItem("&Supérieure à la normale", $menu_fichier_priorite, -1, 1)
GUICtrlSetOnEvent(-1, "menu_fichier_priorite_sup_normaleClick")
Global $menu_fichier_priorite_normale = GUICtrlCreateMenuItem("&Normale", $menu_fichier_priorite, -1, 1)
GUICtrlSetState(-1, $GUI_CHECKED)
GUICtrlSetOnEvent(-1, "menu_fichier_priorite_normaleClick")
Global $menu_fichier_priorite_inf_normale = GUICtrlCreateMenuItem("&Inférieure à la normale", $menu_fichier_priorite, -1, 1)
GUICtrlSetOnEvent(-1, "menu_fichier_priorite_inf_normaleClick")
Global $menu_fichier_priorite_basse = GUICtrlCreateMenuItem("&Basse", $menu_fichier_priorite, -1, 1)
GUICtrlSetOnEvent(-1, "menu_fichier_priorite_basseClick")
Global $menu_fichier_raccourcis = GUICtrlCreateMenuItem("&Raccourcis...", $menu_fichier)
GUICtrlSetState(-1, $GUI_DISABLE)
GUICtrlSetOnEvent(-1, "menu_fichier_raccourcisClick")
Global $menu_fichier_cacher = GUICtrlCreateMenuItem("&Cacher" & @TAB & "Ctrl+H", $menu_fichier)
GUICtrlSetState(-1, $GUI_DISABLE)
GUICtrlSetOnEvent(-1, "menu_fichier_cacherClick")
Global $menu_fichier_pause = GUICtrlCreateMenuItem("P&ause" & @TAB & "Ctrl+P", $menu_fichier, -1, 1)
GUICtrlSetState(-1, $GUI_DISABLE)
GUICtrlSetOnEvent(-1, "menu_fichier_pauseClick")
Global $menu_fichier_montrer = GUICtrlCreateMenuItem("&Montrer..." & @TAB & "Ctrl+M", $menu_fichier)
GUICtrlSetOnEvent(-1, "menu_fichier_montrerClick")
Global $menu_fichier_separateur = GUICtrlCreateMenuItem("", $menu_fichier)
GUICtrlSetState(-1, $GUI_DISABLE)
Global $menu_fichier_fermer = GUICtrlCreateMenuItem("&Fermer" & @TAB & "Alt+F4", $menu_fichier)
GUICtrlSetOnEvent(-1, "fenetreClose")
Global $menu_options = GUICtrlCreateMenu("&Options")
Global $menu_options_langue = GUICtrlCreateMenu("&Langue", $menu_options)
Global $menu_options_langue_english = GUICtrlCreateMenuItem("&English", $menu_options_langue, -1, 1)
GUICtrlSetOnEvent(-1, "menu_options_langue_englishClick")
Global $menu_options_langue_francais = GUICtrlCreateMenuItem("&Français", $menu_options_langue, -1, 1)
GUICtrlSetState(-1, $GUI_CHECKED)
GUICtrlSetOnEvent(-1, "menu_options_langue_francaisClick")
Global $menu_options_options = GUICtrlCreateMenuItem("&Options...", $menu_options)
GUICtrlSetOnEvent(-1, "menu_options_optionsClick")
Global $menu_aide = GUICtrlCreateMenu("&?")
Global $menu_aide_aide = GUICtrlCreateMenuItem("&Aide" & @TAB & "F1", $menu_aide)
GUICtrlSetOnEvent(-1, "menu_aide_aideClick")
Global $menu_aide_a_propos = GUICtrlCreateMenuItem("A &Propos...", $menu_aide)
GUICtrlSetOnEvent(-1, "menu_aide_a_proposClick")
GUISetIcon("D:\Programmes en cours d'écriture\AutoIt\KillWindow\Res\KillWindow.ico", -1)
GUISetFont(10, 400, 0, "MS Sans Serif")
GUISetOnEvent($GUI_EVENT_CLOSE, "fenetreClose")
Global $bouton_lancer = GUICtrlCreateButton("&Lancer...", 40, 264, 75, 25)
GUICtrlSetOnEvent(-1, "bouton_lancerClick")
[b]Global $bouton_refresh = GUICtrlCreateButton("&Rafraichîr", 155, 264, 75, 25)
GUICtrlSetOnEvent(-1, "bouton_refreshClick")[/b]
Global $bouton_kill = GUICtrlCreateButton("&Kill", 270, 264, 75, 25)
GUICtrlSetState(-1, $GUI_DISABLE)
GUICtrlSetOnEvent(-1, "bouton_killClick")
Global $bouton_pause = GUICtrlCreateButton("&Pause", 385, 264, 75, 25)
GUICtrlSetOnEvent(-1, "bouton_pauseClick")
TraySetIcon("D:\Programmes en cours d'écriture\AutoIt\KillWindow\Res\KillWindow.ico", -1)
TraySetClick("8")
TraySetOnEvent($TRAY_EVENT_PRIMARYDOUBLE, "tray_show")
Global $tray_lancer = TrayCreateItem("&Lancer...")
TrayItemSetOnEvent(-1, "tray_lancerClick")
Global $tray_montrer = TrayCreateItem("&Montrer...")
TrayItemSetOnEvent(-1, "tray_montrerClick")
Global $tray_separateur = TrayCreateItem("")
TrayItemSetState(-1, $TRAY_DISABLE)
Global $tray_quitter = TrayCreateItem("&Quitter")
TrayItemSetOnEvent(-1, "tray_quitterClick")
Global $onglets = GUICtrlCreateTab(10, 12, 481, 237)
GUICtrlSetOnEvent(-1, "ongletsChange")
Global $tab_fenetres = GUICtrlCreateTabItem("Fenêtres")
[b]Global $liste_fenetre = GUICtrlCreateList("", 24, 48, 449, 198, $GUI_SS_DEFAULT_LIST)[/b]
GUICtrlSetOnEvent(-1, "liste_fenetreClick")
Global $tab_processus = GUICtrlCreateTabItem("Processsus")
Global $liste_processus = GUICtrlCreateList("", 24, 48, 449, 198, $GUI_SS_DEFAULT_LIST)
GUICtrlSetOnEvent(-1, "liste_processusClick")
Global $fenetre_AccelTable[10][2] = [["!f", $menu_fichier],["^l", $menu_fichier_lancer],["^k", $menu_fichier_kill],["^f", $menu_fichier_flasher],["^h", $menu_fichier_cacher],["^p", $menu_fichier_pause],["^m", $menu_fichier_montrer],["!{F4}", $menu_fichier_fermer],["!o", $menu_options],["{F1}", $menu_aide_aide]]
GUISetAccelerators($fenetre_AccelTable)
GUISetState(@SW_SHOW)
#endregion ### END Koda GUI section ###
bouton_refreshClick()
While 1
Sleep(100)
WEnd
Func bouton_pauseClick()
If GUICtrlRead($onglets, 1) == $tab_fenetres Then
If GUICtrlRead($liste_fenetre) <> "" Then
$pid_process = WinGetProcess(GUICtrlRead($liste_fenetre))
$pause_unpause = _ArraySearch($array_process_pause, $pid_process)
If $pause_unpause == "-1" Then
Run($chemin_script & "Res\Process.exe -s " & $pid_process)
_ArrayAdd($array_process_pause, $pid_process)
Else
Run($chemin_script & "Res\Process.exe -r " & $pid_process)
_ArrayDelete($array_process_pause, _ArraySearch($array_process_pause, $pid_process))
EndIf
EndIf
ElseIf GUICtrlRead($onglets, 1) == $tab_processus Then
If GUICtrlRead($liste_processus) <> "" Then
$pid_process = ProcessExists(GUICtrlRead($liste_processus))
$pause_unpause = _ArraySearch($array_process_pause, $pid_process)
If $pause_unpause == "-1" Then
Run($chemin_script & "Res\Process.exe -s " & $pid_process)
_ArrayAdd($array_process_pause, $pid_process)
Else
Run($chemin_script & "Res\Process.exe -r " & $pid_process)
_ArrayDelete($array_process_pause, _ArraySearch($array_process_pause, $pid_process))
EndIf
EndIf
EndIf
EndFunc ;==>bouton_pauseClick
Func bouton_killClick()
If GUICtrlRead($onglets, 1) == $tab_fenetres Then
If GUICtrlRead($liste_fenetre) <> "" Then
WinKill(GUICtrlRead($liste_fenetre))
EndIf
ElseIf GUICtrlRead($onglets, 1) == $tab_processus Then
If GUICtrlRead($liste_processus) <> "" Then
ProcessClose(GUICtrlRead($liste_processus))
EndIf
EndIf
EndFunc ;==>bouton_killClick
Func bouton_lancerClick()
$running = InputBox("Lancer...", "Entrez le chemin et le nom du programme à lancer :", "", "", 300, 100, (@DesktopWidth / 2) - 150, (@DesktopHeight / 2) - 50, -1, $fenetre)
If $running <> "" Then
ShellExecute($running)
EndIf
bouton_refreshClick()
EndFunc ;==>bouton_lancerClick
[b]Func bouton_refreshClick()
GUICtrlSetData($liste_fenetre, "")
GUICtrlSetData($liste_processus, "")
$liste_fenetres = WinList()
For $incrementation = 1 To $liste_fenetres[0][0]
$est_visible = IsVisible($liste_fenetres[$incrementation][1])
If $liste_fenetres[$incrementation][0] <> "" And $est_visible = 1 Then
If $liste_fenetres[$incrementation][0] == "Program Manager" Or $liste_fenetres[$incrementation][0] == "KillWindow 4 [beta]" Then
$incrementation += 1
ContinueLoop
EndIf
GUICtrlSetData($liste_fenetre, $liste_fenetres[$incrementation][0] & "|")
EndIf
Next
$liste_process = ProcessList()
For $incr = 1 To $liste_process[0][0]
If $liste_process[$incr][0] == "[System Process]" Or $liste_process[$incr][0] == "System" Then
ContinueLoop
EndIf
GUICtrlSetData($liste_processus, $liste_process[$incr][0] & "|")
Next
ongletsChange()
EndFunc ;==>bouton_refreshClick[/b]
Func fenetreClose()
GUISetState(@SW_HIDE)
EndFunc ;==>fenetreClose
Func liste_fenetreClick()
ongletsChange()
EndFunc ;==>liste_fenetreClick
Func menu_aide_a_proposClick()
EndFunc ;==>menu_aide_a_proposClick
Func menu_aide_aideClick()
EndFunc ;==>menu_aide_aideClick
Func menu_fichier_cacherClick()
If GUICtrlRead($liste_fenetre) <> "" Then
WinSetState(GUICtrlRead($liste_fenetre), -1, @SW_HIDE)
EndIf
EndFunc ;==>menu_fichier_cacherClick
Func menu_fichier_flasherClick()
If GUICtrlRead($liste_fenetre) <> "" Then
WinFlash(GUICtrlRead($liste_fenetre))
EndIf
EndFunc ;==>menu_fichier_flasherClick
Func menu_fichier_killClick()
bouton_killClick()
EndFunc ;==>menu_fichier_killClick
Func menu_fichier_lancerClick()
bouton_lancerClick()
EndFunc ;==>menu_fichier_lancerClick
Func menu_fichier_montrerClick()
$child = GUICreate("Montrer...", 300, 150, (@DesktopWidth / 2) - 150, (@DesktopHeight / 2) - 75, BitOR($WS_CAPTION, $WS_POPUP, $WS_SYSMENU, $WS_CHILD), -1, $fenetre)
$list_fenetre_a_montrer = GUICtrlCreateList("", 5, 5, 290, 100)
$bouton_ok = GUICtrlCreateButton("&Ok", 50, 115, 50, 20)
GUISetState(@SW_SHOW)
$liste_fenetres = WinList()
For $incrementation = 1 To $liste_fenetres[0][0]
$est_visible = IsVisible($liste_fenetres[$incrementation][1])
If $liste_fenetres[$incrementation][0] <> "" And $est_visible = 0 Then
If $liste_fenetres[$incrementation][0] == "Program Manager" Then
$incrementation += 1
ContinueLoop
EndIf
If $liste_fenetres[$incrementation][0] == "KillWindow 4 [beta]" Then
$incrementation += 1
ContinueLoop
EndIf
GUICtrlSetData($list_fenetre_a_montrer, $liste_fenetres[$incrementation][0] & "|")
EndIf
Next
While 1
$msg = GUIGetMsg()
If $msg == $GUI_EVENT_CLOSE Then
ExitLoop
ElseIf $msg == $bouton_ok And GUICtrlRead($list_fenetre_a_montrer) <> "0" Then
WinSetState(GUICtrlRead($list_fenetre_a_montrer), -1, @SW_SHOW)
EndIf
WEnd
EndFunc ;==>menu_fichier_montrerClick
Func menu_fichier_pauseClick()
bouton_pauseClick()
EndFunc ;==>menu_fichier_pauseClick
Func menu_fichier_priorite_basseClick()
EndFunc ;==>menu_fichier_priorite_basseClick
Func menu_fichier_priorite_inf_normaleClick()
EndFunc ;==>menu_fichier_priorite_inf_normaleClick
Func menu_fichier_priorite_normaleClick()
EndFunc ;==>menu_fichier_priorite_normaleClick
Func menu_fichier_priorite_sup_normaleClick()
EndFunc ;==>menu_fichier_priorite_sup_normaleClick
Func menu_fichier_raccourcisClick()
EndFunc ;==>menu_fichier_raccourcisClick
Func menu_options_langue_englishClick()
EndFunc ;==>menu_options_langue_englishClick
Func menu_options_langue_francaisClick()
EndFunc ;==>menu_options_langue_francaisClick
Func menu_options_optionsClick()
EndFunc ;==>menu_options_optionsClick
Func menu_fichier_priorite_hauteClickClick()
EndFunc ;==>menu_fichier_priorite_hauteClickClick
Func menu_fichier_priorite_temps_reelClick()
EndFunc ;==>menu_fichier_priorite_temps_reelClick
Func ongletsChange()
If GUICtrlRead($onglets, 1) == $tab_fenetres Then ;==> Si on active l'onglet "Fenêtres" :
If GUICtrlRead($liste_fenetre) == "" Then ;==> Si aucun item n'est sélectionné dans la liste des fenêtres :
GUICtrlSetState($bouton_kill, $GUI_DISABLE) ;bouton "kill" > désactivé
GUICtrlSetState($menu_fichier_cacher, $GUI_DISABLE) ;fichier, cacher > désactivé
GUICtrlSetState($menu_fichier_flasher, $GUI_DISABLE) ;fichier, flasher > désactivé
GUICtrlSetState($menu_fichier_kill, $GUI_DISABLE) ;fichier, kill > désactivé
GUICtrlSetState($menu_fichier_pause, $GUI_DISABLE) ;fichier, pause (processus) > désactivé
GUICtrlSetState($menu_fichier_priorite, $GUI_DISABLE) ;fichier, priorite > désactivé
GUICtrlSetState($menu_fichier_raccourcis, $GUI_DISABLE) ;fichier, raccourcis > désactvé
GUICtrlSetState($bouton_pause, $GUI_DISABLE) ;bouton "pause" (processus) > désactivé
Else ;==> Si un item est sélectionné :
GUICtrlSetState($bouton_kill, $GUI_ENABLE) ;bouton "kill" > activé
GUICtrlSetState($menu_fichier_cacher, $GUI_ENABLE) ;fichier, cache > activé
GUICtrlSetState($menu_fichier_flasher, $GUI_ENABLE) ;fichier, flasher > activé
GUICtrlSetState($menu_fichier_kill, $GUI_ENABLE) ;fichier, kill > activé
GUICtrlSetState($menu_fichier_pause, $GUI_ENABLE) ;fichier, pause (processus) > activé
GUICtrlSetState($menu_fichier_priorite, $GUI_ENABLE) ;fichier, priorite > activé
GUICtrlSetState($menu_fichier_raccourcis, $GUI_ENABLE) ;fichier, raccourcis > activé
GUICtrlSetState($bouton_pause, $GUI_ENABLE) ;bouton "pause" (processus) > activé
EndIf
ElseIf GUICtrlRead($onglets, 1) == $tab_processus Then ;==>Si on active l'onglet "Processus" :
If GUICtrlRead($liste_processus) == "" Then ;==>Si aucun item n'est sélectionné dans la liste des processus :
GUICtrlSetState($bouton_kill, $GUI_DISABLE) ;bouton "kill" > désactivé
GUICtrlSetState($menu_fichier_cacher, $GUI_DISABLE) ;fichier, cacher > désactivé
GUICtrlSetState($menu_fichier_flasher, $GUI_DISABLE) ;fichier, flasher > désactivé
GUICtrlSetState($menu_fichier_kill, $GUI_DISABLE) ;fichier, kill > désactivé
GUICtrlSetState($menu_fichier_pause, $GUI_DISABLE) ;fichier, pause (processus) > désactivé
GUICtrlSetState($menu_fichier_priorite, $GUI_DISABLE) ;fichier, priorite > désactivé
GUICtrlSetState($menu_fichier_raccourcis, $GUI_DISABLE) ;fichier, raccourcis > désactvé
GUICtrlSetState($bouton_pause, $GUI_DISABLE) ;bouton "pause" (processus) > désactivé
Else ;==> Si un item est sélectionné :
GUICtrlSetState($bouton_kill, $GUI_ENABLE) ;bouton "kill" > activé
GUICtrlSetState($menu_fichier_cacher, $GUI_DISABLE) ;fichier, cacher > désactivé
GUICtrlSetState($menu_fichier_flasher, $GUI_DISABLE) ;fichier, flasher > désactivé
GUICtrlSetState($menu_fichier_kill, $GUI_ENABLE) ;fichier, kill > activé
GUICtrlSetState($menu_fichier_pause, $GUI_ENABLE) ;fichier, pause > activé
GUICtrlSetState($menu_fichier_priorite, $GUI_ENABLE) ;fichier, priorité > activé
GUICtrlSetState($menu_fichier_raccourcis, $GUI_DISABLE) ;fichier, raccourcis > désactivé
GUICtrlSetState($bouton_pause, $GUI_ENABLE) ;bouton "pause" (processus) > activé
EndIf
EndIf
EndFunc ;==>ongletsChange
Func tray_lancerClick()
EndFunc ;==>tray_lancerClick
Func tray_montrerClick()
menu_fichier_montrerClick()
EndFunc ;==>tray_montrerClick
Func tray_quitterClick()
Exit
EndFunc ;==>tray_quitterClick
Func liste_processusClick()
If GUICtrlRead($liste_processus) <> "" Then
GUICtrlSetState($bouton_kill, $GUI_ENABLE)
GUICtrlSetState($menu_fichier_cacher, $GUI_ENABLE)
GUICtrlSetState($menu_fichier_flasher, $GUI_ENABLE)
GUICtrlSetState($menu_fichier_kill, $GUI_ENABLE)
GUICtrlSetState($menu_fichier_pause, $GUI_ENABLE)
GUICtrlSetState($menu_fichier_priorite, $GUI_ENABLE)
GUICtrlSetState($menu_fichier_raccourcis, $GUI_ENABLE)
EndIf
EndFunc ;==>liste_processusClick
Func IsVisible($handle)
If BitAND(WinGetState($handle), 2) Then
Return 1
Else
Return 0
EndIf
EndFunc ;==>IsVisible
Func tray_show()
GUISetState(@SW_SHOW)
EndFunc ;==>tray_show