2017-07-05 7 views
0

を除くすべてのウィンドウ私はAutoItのを使用していないマウスの動きと私はここで見つけるコードの60秒後に開いているすべてのウィンドウをシャットダウンするプログラムを構築していますのAutoIt閉じるシャットダウン

#include <MsgBoxConstants.au3> 
Opt("WinTitleMatchMode", 3) ;3 = exact title match 
Opt("TrayIconDebug", 1) 

$S_running = "check-4-app2" ;name the script 
If WinExists($S_running) Then Exit 

AutoItWinSetTitle($S_running) 

$count = 0 
$mousePos = MouseGetPos() 
while 1 
    $count += 1 
    $mousePosNow = mouseGetPos() 

    If $mousePosNow[0] <> $mousePos[0] Or $mousePosNow[1] <> $mousePos[1] Then $count = 0 

    $mousePos = MouseGetPos() 

    ;ToolTip("count = " & $count, 0, 0) 

    If $count > 60 Then 
     $count = 0 
     $var = WinList() 
     $length = UBound($var) - 2 
     For $i = 1 to $length 
     If BitAnd (WinGetState ($var[$i][1]), 2) And $var[$i][0] <> "" AND $var[$i][0] <> "Program Manager" Then WinClose ($var[$i][1], "") 
     Next 
    EndIf 
    Sleep(1000) 
WEnd 

それは60秒後に実際に開いているウィンドウをすべて閉じを行いますが、それは(あなたがAlt + F4キーの組み合わせを押したときのように)だけでなく、Windowsのシャットダウンウィンドウが開き窓7.

:それはこのようになりますの仕方このウィンドウをポップアップしないようにしますか?私はすべてのウィンドウを閉じて、クリーンなデスクトップビューを持つようにします。

答えて

0

まず、$ var = WinList()のすべての値についてデバッグを行い、OSのいくつかのウィンドウが特別であるかどうかを確認する必要があります。つまり、そのようなウィンドウがシャットダウンされた場合、 、私はwalkround方法を見つけ、私は多分あなたのコード

の下部に次の行を置くことができ、あなたが言った「Windowsのシャットダウンウィンドウ」を閉じるには、次のコード

WinClose("Close Windows") 
; or maybe WinClose("Shutdown Windows") 

を行うには私のコンピュータで試してみました注意:私のコンピュータでは、そのOSの言語は英語ではないので、最初に "windows shutdown window"を起動し、AutoItウィンドウ情報ツールを使用して表示する必要がありますそのウィンドウのタイトルは正確に

関連する問題