autoit script aide! arrête le processus quand est IDLE pendant 1 min

0

J'ai trouvé ce script intéressant:

Opt ("WinTitleMatchMode", 3); 3 = correspondance exacte du titre Opt ("TrayIconDebug", 1)

$ S_running = "check-4-app"; nommez le script si WinExists ($ S_running), puis quittez AutoItWinSetTitle ($ S_running)

$ title = "Sans titre - Bloc-notes" $ count = 0 Tant que 1 $ state = WinGetState ($ title) $ count + = 1

If $state = 15 Or $state = 47 Or $state = 0 Then $count = 0

If $count > 10 Then WinClose($title)

ToolTip("count = " & $count, 0, 0, "state = " & $state)
Sleep(1000) WEnd

Quelqu'un peut-il modifier ce script pour arrêter et fermer automatiquement '' My-Xtool.exe '' à partir de processus? Pas à partir d'applications, mais uniquement lorsqu'il est inactif pendant plus d'une minute, est-il possible? Je ru

n My-Xtool.exe et moi voyons comment les valeurs d'octets changent, mais parfois ces valeurs sont statiques, elles ne changent plus de valeur, ce qui signifie que mon fichier .exe devient inactif, alors je veux arrêter le processus automatiquement. Quelqu'un peut-il m'aider? ça s'il te plait? Merci

michael johns
la source
2
Superuser n'est pas un service gratuit de rédaction de scripts. "J'ai trouvé ce code en ligne, modifiez-le s'il vous plaît." S'il vous plaît essayez un peu plus et posez des questions spécifiques, montrez au moins quelques efforts de recherche essayant de résoudre votre problème.
Máté Juhász
Oui mais je ne sais pas comment passer à l'onglet PROCESSES et non aux applications
michael johns

Réponses:

0

Utilisez la même manière que moi pour quitter les navigateurs

Local $aList = 0
    Local $aProcesses = StringSplit('iexplore.exe|chrome.exe|firefox.exe|safari.exe|opera.exe|slimjet.exe', '|', $STR_NOCOUNT) ; Multiple processes
    For $i = 0 To UBound($aProcesses) - 1
        $aList = ProcessList($aProcesses[$i])
        If $aList[0][0] > 0 Then ; An array is returned and @error is NEVER set, so lets check the count.
;~         _ArrayDisplay($aList)
            Local $bIsProcessClosed = False ; Declare a variable to hold a boolean.
            For $j = 1 To $aList[0][0]
                $bIsProcessClosed = ProcessClose($aList[$j][1]) ; In AutoIt 0 or 1 can be considered boolean too. It's like a bit in SQL or in C, where 1 and 0 means true or false.
                If Not $bIsProcessClosed Then ConsoleWrite('CLOSE ERROR PID: ' & $aList[$j][1] & @CRLF)
            Next
        EndIf
    Next
Waldemar Bęben
la source