Что нового

Как с помощью _IsPressed поставить одну клавишу на таймер по её бездействию?

agikon

Знающий
Сообщения
789
Репутация
17
На форуме несколько тем по бездействию, и в каждой тебе форумчане упоминают что можно поставить клавишу на таймер с помощью _IsPressed
так вот как всё-таки с помощью _IsPressed поставить одну клавишу на таймер, например ПРОБЕЛ ?
ну то есть если на пробел 10 минут не нажал то комп выкл, а на другие нет разницы нажимаешь или нет. то есть чтобы только пробел учитывался.

я сколько не шаманил ничего не выходит, самый правильный вариант мне кажется вот этот, но всё-равне не работает

Код:
$init100 = TimerInit()
    if _IsPressed(0C) = false AND TimerDiff($init100) > 3000 then

FileExists
@AppDataDir


_IsPressed(0C) это ПРОБЕЛ

подскажите пожалуйста.
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
agikon,
Код:
Global $iStart, $iTimeout = 10000 ;10 sec

HotKeySet('{SPACE}', '_TimerInit')
_TimerInit()
While 1
	If TimerDiff($iStart) >= $iTimeout Then
		MsgBox(64, 'Info', 'Кнопка "пробел" не нажималась ' & $iTimeout / 1000 & ' секунд')
		ExitLoop
		;Shutdown
	EndIf
	Sleep(50)
WEnd

Func _TimerInit()
	$iStart = TimerInit()
EndFunc   ;==>_TimerInit
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
С использованием _IsPressed:

Код:
#include <Misc.au3>

$iMinutes = 10
$iTimer = TimerInit()

Do
	If _IsPressed("20") Then
		$iTimer = TimerInit()
	EndIf
	
	Sleep(10)
Until (TimerDiff($iTimer) / 1000 / 60) >= $iMinutes

MsgBox(64, 'Title', 'SPACE didn''t pressed for ' & $iMinutes & ' minutes.')
;ShutDown(...)
 
Автор
A

agikon

Знающий
Сообщения
789
Репутация
17
два прекрасных совсем разных примера!

madmasles
CreatoR
Спасибо!
 
Верх