Что нового

Выключение ПК и действия перед этим.

FiReDoGGi

Чайник
Сообщения
42
Репутация
2
Вот есть такой код. Но первый иф зациклился :'(
Каким образом это исправить.
Пояснения: Перед Логом КП должен выполнить дейстивия если в первый InputBox ввели "1". Если нет то просто выключится.

Код:
Opt("PixelCoordMode",0)
Opt("MouseCoordMode",0)
Opt("SendKeyDelay",20)

#Include <WinAPIEx.au3>
 _WinAPI_SetKeyboardLayout(WinGetHandle('World of Warcraft'), 0x0409)

$Home = InputBox("", "Если 1 то делаем, если 0 то нет")
$Shutdown = InputBox("Выключение", "Введите время до выключения компьютера в минутах")
$ShutdownTimer = TimerInit()
While 1
    $SD = TimerDiff($ShutdownTimer) / 60000
		If $Home = 1 Then
			Send("{ENTER}")
			Send("/use item:6948")
			Send("{ENTER}")
		EndIf
		If $SD > $Shutdown Then
			Shutdown(0)
			Exit
		EndIf
	WEnd
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5 379
Репутация
2 702
Код:
While 1
    Sleep(100)
    $SD = TimerDiff($ShutdownTimer) / 60000
    If $SD > $Shutdown Then
        If $Home = 1 Then
            Send("{ENTER}")
            Send("/use item:6948")
            Send("{ENTER}")
        EndIf
        Shutdown(0)
        Exit
    EndIf
WEnd


И не забывай про Sleep() внутри цикла. Это разгружает процессор.
 
Автор
F

FiReDoGGi

Чайник
Сообщения
42
Репутация
2
Хм. то есть лишний слип это плюс а не минус?
В каком плане разгружает?
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5 379
Репутация
2 702
FiReDoGGi сказал(а):
Хм. то есть лишний слип это плюс а не минус?
В каком плане разгружает?
Нажми CTRL-ALT-DEL и посмотри на загрузку ЦП со Sleep() и без него. :blum:
 
Автор
F

FiReDoGGi

Чайник
Сообщения
42
Репутация
2
Хм. 50 проц без =)
Спасибо учту!
 

joiner

Модератор
Локальный модератор
Сообщения
3 009
Репутация
502
но при выполнении не происходит выключение компа. только выход из системы..
 
Автор
F

FiReDoGGi

Чайник
Сообщения
42
Репутация
2
Поставь 5

Код:
While 1
        Sleep(100)
        $SD = TimerDiff($ShutdownTimer) / 60000
        If $SD > $Shutdown Then
            If $Home = 1 Then
                Send("{ENTER}")
                Send("/use item:6948")
                Send("{ENTER}")
            EndIf
            Shutdown(5)
            Exit
        EndIf
    WEnd
 
Верх