#NoTrayIcon
#include <APIConstants.au3>
#include <WinAPI.au3>
Global Const $sEditParentClass = '^(SysListView32|CtrlNotifySink)$'
Global Const $sEditAncestorClass = '^((Cabinet|Explore)WClass|Progman|WorkerW)$'
Opt('WinWaitDelay', 0)
HotKeySet('{ESC}', '_Exit')
While Sleep(10)
$sCtrl = _ControlGetFocusEx('[ACTIVE]')
If StringLeft($sCtrl, 4) = 'Edit' Then
$hWnd = ControlGetHandle('[ACTIVE]', '', $sCtrl)
$sAncestorClass = _WinAPI_GetClassName(_WinAPI_GetAncestor($hWnd, $GA_ROOTOWNER))
$sParentClass = _WinAPI_GetClassName(_WinAPI_GetParent($hWnd))
If StringRegExp($sAncestorClass, $sEditAncestorClass) And StringRegExp($sParentClass, $sEditParentClass) Then
WinClose($hWnd)
EndIf
EndIf
WEnd
Func _ControlGetFocusEx($sTitle)
Local $aRet
While 1
$aRet = DllCall('user32.dll', 'short', 'GetAsyncKeyState', 'int', '0x01')
If Not @error And BitAND($aRet[0], 0x8000) <> 0 Then
Sleep(RegRead('HKCU\Control Panel\Mouse', 'DoubleClickSpeed') + 50)
Else
Return ControlGetFocus($sTitle)
EndIf
Wend
EndFunc
Func _Exit()
Exit
EndFunc