Есть скрипт ниже, который работает как надо, если запустить его от имени пользователя.
Но если он запущен от имени системы, чтобы любому пользователю, вошедшему в систему, отобразить этот диалог, то ничего не отображается.
Есть какой-то вариант видеть активную учетную запись и показать диалог именно ему? (на компе может быть несколько авторизованных пользователей AD)
Но если он запущен от имени системы, чтобы любому пользователю, вошедшему в систему, отобразить этот диалог, то ничего не отображается.
Есть какой-то вариант видеть активную учетную запись и показать диалог именно ему? (на компе может быть несколько авторизованных пользователей AD)
Код:
#NoTrayIcon
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
Global $mainind = 0 ; "1" - перенос на час, "2" - перенос на сутки, "-1" - выключение
While 1
Sleep(1000)
If $mainind = 0 Then
If @HOUR = 20 And @MIN >= 00 Then
$arr = MsgBox(48 + 4096, "Выключение компьютера!", "Ваш компьютер будет выключен в 20:30. Закрытие этого окна перенесет запрос выключения на 21:00", 300)
If $arr = 1 Then
$mainind = 1
EndIf
If $arr = -1 Then
$mainind = -1
EndIf
EndIf
EndIf
If $mainind = 1 Then
If @HOUR = 21 And @MIN >= 00 Then
$arr = MsgBox(48 + 4096, "Выключение компьютера!", "Ваш компьютер будет выключен в 21:30. Закрытие этого окна перенесет запрос на 20:00 следующего дня", 60)
If $arr = 1 Then
$mainind = 2
EndIf
If $arr = -1 Then
$mainind = -1
EndIf
EndIf
EndIf
If $mainind = -1 Then
Shutdown(21)
ExitLoop
EndIf
If $mainind = 2 Then
$mainind = 0
Sleep(43200000) ; 12 часов
EndIf
WEnd