Эта утилитка?
А как же

Цитата Creat0R:
Скрипт завершит работу после любого движения мышки
Нет, не годится, любое движение мышки, вот если бы по комбинации клавиш тогда хорошо, а движение или нажатие клавиши не годиться



для чистки клавиатуры блокирует это дело, только без всяких оповещений и окон, просто блокировала, а по нажатию ctrl+alt+del разблокировала и закрывалась соответственно.
Код: Выделить всё
#NoTrayIcon
$aOld_MousePos = MouseGetPos()
BlockInput(1)
While 1
Sleep(100)
$aNewMousePos = MouseGetPos()
If $aOld_MousePos[0] $aNewMousePos[0] Or $aOld_MousePos[1] $aNewMousePos[1] Then ExitLoop
WEnd
BlockInput(0)
Код: Выделить всё
#include
Global $iTimer_Started = False
Global $Timer_Init = 0, $Total_Seconds = 0
$GUI = GUICreate("Timer Script", 220, 90)
$Timer_Button = GUICtrlCreateButton("Start", 50, 20, 120, 20)
$Timer_Label = GUICtrlCreateLabel("00:00:00", 90, 60)
GUISetState(@SW_SHOW, $GUI)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Timer_Button
If $iTimer_Started Then
GUICtrlSetData($Timer_Button, "Start")
_AdlibDisable($GUI)
Set_Timer()
$Total_Seconds += Round(TimerDiff($Timer_Init)/1000, 1)
Else
GUICtrlSetData($Timer_Button, "Stop")
$Timer_Init = TimerInit()
_AdlibEnable("Set_Timer", 1000, $GUI)
EndIf
$iTimer_Started = Not $iTimer_Started
EndSwitch
WEnd
Func _AdlibEnable($sFunction, $iTime=250, $hWnd=0)
Local Const $WM_TIMER = 0x0113
If Not IsHWnd($hWnd) Then $hWnd = GUICreate("hCallBack_AdlibEnable")
GUIRegisterMsg($WM_TIMER, $sFunction)
Local $aRet = DllCall("User32.dll", "int", "SetTimer", "hwnd", $hWnd, "int", 50, "int", $iTime, "int", 0)
Return $hWnd
EndFunc
Func _AdlibDisable($hWnd=0)
Local Const $WM_TIMER = 0x0113
GUIRegisterMsg($WM_TIMER, "")
Local $aRet = DllCall("user32.dll", "int", "KillTimer", "hwnd", $hWnd, "int_ptr", 50)
Return Number(IsArray($aRet) And $aRet[0])
EndFunc
Func _SecsToTime($iTicks, $Delim=":")
If Number($iTicks) >= 0 Then
Local $iHours = Int($iTicks / 3600)
$iTicks = Mod($iTicks, 3600)
Local $iMins = Int($iTicks / 60)
Local $iSecs = Round(Mod($iTicks, 60))
If StringLen($iHours) = 1 Then $iHours = "0" & $iHours
If StringLen($iMins) = 1 Then $iMins = "0" & $iMins
If StringLen($iSecs) = 1 Then $iSecs = "0" & $iSecs
Return $iHours & $Delim & $iMins & $Delim & $iSecs
EndIf
Return SetError(1, 0, 0)
EndFunc
Func Set_Timer($hWnd=0)
Local $iTmp_Total_Seconds = Round(TimerDiff($Timer_Init)/1000, 1)
If $Total_Seconds > 0 Then $iTmp_Total_Seconds += $Total_Seconds
Local $sTime = _SecsToTime($iTmp_Total_Seconds)
GUICtrlSetData($Timer_Label, $sTime)
EndFuncКод: Выделить всё
#include
Global $sTDelim = _GetTimeDelim()
$GUI = GUICreate("Timer Script", 220, 90)
$Time_Label = GUICtrlCreateLabel("Текущее время: " & GetCurrentTime($sTDelim), 40, 60)
$Handle = _AdlibEnable("Set_System_Time", 1000)
GUISetState(@SW_SHOW, $GUI)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
_AdlibDisable($Handle, 1)
Exit
EndSwitch
WEnd
Func _AdlibEnable($sFunction, $iTime=250, $hWnd=0)
Local Const $WM_TIMER = 0x0113
If Not IsHWnd($hWnd) Then $hWnd = GUICreate("hCallBack_AdlibEnable")
GUIRegisterMsg($WM_TIMER, $sFunction)
Local $aRet = DllCall("User32.dll", "int", "SetTimer", "hwnd", $hWnd, "int", 1, "int", $iTime, "int", 0)
Return $hWnd
EndFunc
Func _AdlibDisable($hWnd=0, $iCloseHwnd=0)
Local Const $WM_TIMER = 0x0113
GUIRegisterMsg($WM_TIMER, "")
If $iCloseHwnd Then GUIDelete($hWnd)
Local $aRet = DllCall("user32.dll", "int", "KillTimer", "hwnd", $hWnd, "int", 1)
Return Number(IsArray($aRet) And $aRet[0])
EndFunc
Func Set_System_Time()
GUICtrlSetData($Time_Label, "Текущее время: " & GetCurrentTime($sTDelim))
EndFunc
Func GetCurrentTime($sTDelim=":")
Return @HOUR & $sTDelim & @MIN & $sTDelim & @SEC
EndFunc
Func _GetTimeDelim($sNowTime="")
Local $sRetDelim = RegRead("HKEY_CURRENT_USER\Control Panel\International", "sTime")
If $sRetDelim = "" And $sNowTime "" Then $sRetDelim = StringLeft(StringRegExpReplace($sNowTime, "[0-9]", ""), 1)
If $sRetDelim = "" Then $sRetDelim = ":"
Return $sRetDelim
EndFuncКод: Выделить всё
GUICreate("Title", 300, 100, -1, -1, $WS_CAPTION+$WS_POPUP)Код: Выделить всё
#include
$aDisplayData = DisplayGetResolution()
_ArrayDisplay($aDisplayData, "Current Resolution Values")
;Change to new resolution
DisplayChangeResolution(960, 600, 32, 60)
Sleep(3000)
;Change back to currently used resolution
DisplayChangeResolution($aDisplayData[0], $aDisplayData[1], $aDisplayData[2], $aDisplayData[3])
Func DisplayGetResolution($iIndex=-1)
Local $DEVMODE = DllStructCreate("byte[32];int[10];byte[32];int[6]")
Local $aRet[4]
Local $aDllCall = DllCall("user32.dll", "int", "EnumDisplaySettings", _
"ptr", 0, "long", $iIndex, "ptr", DllStructGetPtr($DEVMODE))
If IsArray($aDllCall) And $aDllCall[0] 0 Then
$aRet[0] = DllStructGetData($DEVMODE, 4, 2)
$aRet[1] = DllStructGetData($DEVMODE, 4, 3)
$aRet[2] = DllStructGetData($DEVMODE, 4, 1)
$aRet[3] = DllStructGetData($DEVMODE, 4, 5)
Else
Return SetError(1, 0, 0)
EndIf
$DEVMODE = 0
Return $aRet
EndFunc ;==>DisplayGetResolution
Func DisplayChangeResolution($iWidth, $iHeight, $iBpp, $iFreq)
Local Const $DM_PELSWIDTH = 0x00080000
Local Const $DM_PELSHEIGHT = 0x00100000
Local Const $DM_BITSPERPEL = 0x00040000
Local Const $DM_DISPLAYFREQUENCY = 0x00400000
Local Const $CDS_TEST = 0x00000002
Local Const $CDS_UPDATEREGISTRY = 0x00000001
Local Const $DISP_CHANGE_RESTART = 1
Local Const $DISP_CHANGE_SUCCESSFUL = 0
Local Const $HWND_BROADCAST = 0xFFF
Local Const $WM_DISPLAYCHANGE = 0x007E
Local $DEVMODE = DllStructCreate("byte[32];int[10];byte[32];int[6]")
Local $avDllCall = DllCall("user32.dll", "int", "EnumDisplaySettings", "ptr", 0, "long", 0, "ptr", DllStructGetPtr($DEVMODE))
If IsArray($avDllCall) And $avDllCall[0] 0 Then
DllStructSetData($DEVMODE, 2, BitOR($DM_PELSWIDTH, $DM_PELSHEIGHT, $DM_BITSPERPEL, $DM_DISPLAYFREQUENCY), 5)
DllStructSetData($DEVMODE, 4, $iWidth, 2)
DllStructSetData($DEVMODE, 4, $iHeight, 3)
DllStructSetData($DEVMODE, 4, $iBpp, 1)
DllStructSetData($DEVMODE, 4, $iFreq, 5)
$avDllCall = DllCall("user32.dll", "int", "ChangeDisplaySettings", "ptr", DllStructGetPtr($DEVMODE), "int", $CDS_TEST)
If @error Then
$avDllCall = -1
Else
$avDllCall = $avDllCall[0]
EndIf
Select
Case $avDllCall = $DISP_CHANGE_RESTART
$DEVMODE = 0
Return 2
Case $avDllCall = $DISP_CHANGE_SUCCESSFUL
DllCall("user32.dll", "int", "ChangeDisplaySettings", "ptr", DllStructGetPtr($DEVMODE), "int", $CDS_UPDATEREGISTRY)
DllCall("user32.dll", "int", "SendMessage", "hwnd", $HWND_BROADCAST, "int", $WM_DISPLAYCHANGE, _
"int", $iBpp, "int", $iHeight * 2 ^ 16 + $iWidth)
$DEVMODE = 0
Return 1
Case Else
$DEVMODE = 0
Return $avDllCall
EndSelect
EndIf
EndFunc ;==>DisplayChangeResolutionКод: Выделить всё
Func DisplayGetResolution_by_Macro()
Local $aRet[4] = [@DesktopWidth, @DesktopHeight, @DesktopDepth, @DesktopRefresh]
Return $aRet
EndFunc