|
12 / 12 / 0
Регистрация: 08.10.2008
Сообщений: 105
|
||||||
Как различить reboot и shutdown перед выполнением shutdown script09.08.2013, 11:50. Показов 2551. Ответов 5
Метки нет (Все метки)
Вкратце суть вопроса:
Есть скрипт который должен выполняться при завершении работы компьютера. Для этого скрипт добавлен в групповых политиках в shutdown script. Но так как скрпит выполняется достаточно продолжительное время нужно перед выполнением скрипта отличать что сделал пользователь - отправил комп в ребут или завершение работы. Сначала была идея через WMI отлавливать событие Win32_ComputerShutdownEvent, это можно сделать простым скриптом (AutoIt):
Может кто-нибудь сталкивался с такой проблемой? Есть ли у кого-нибудь идеи, как можно понять (автоматически) что собирается сделать пользователь перезагрузить комп или выключить?
0
|
||||||
| 09.08.2013, 11:50 | |
|
Ответы с готовыми решениями:
5
Shutdown Помогите с shutdown shutdown только моментально |
|
Ушел с форума
|
||
| 09.08.2013, 16:20 | ||
|
Не знаю ни одного программного интерфейса в режиме пользователя, который позволял бы
отличать выключение от перезагрузки. Вообще, переходом в эти состояния заправляет ACPI, а для операционной системы и выполняющихся в ней процессов обе эти операции эквивалентны. Если и можно где-то узнать, что именно происходит, то только на уровне ядра, перехватив соответствующий сигнал об управления питанием. Кстати, код выше неверный. Win32_ComputerShutdownEvent class
1
|
||
|
12 / 12 / 0
Регистрация: 08.10.2008
Сообщений: 105
|
|
| 09.08.2013, 17:42 [ТС] | |
|
Да, на счет Win32_ComputerShutdownEvent class я погорячился кончено)
А что если перехватывать вызов функции ExitWindowsEx? Ведь по идее, когда мы в Пуске выбираем завершение работы/перезагразка, то explorer вызывает как раз эту функцию? Сейчас читаю про code injection но, боюсь, если использовать такой способ, то антивирусник может меня не правильно понять. Должен же быть какой-то более гуманный способ? Еще есть функция SetWindowsHookEx но как я понял максимум что с ее помощью можно попробовать это хучить окно экспоэра при завершении работы и там определять что именно в комбо-боксе выбрал пользователь (или на какую кнопку нажал).
0
|
|
|
Ушел с форума
|
|||
| 09.08.2013, 19:02 | |||
|
И кроме ExitWindowsEx есть также ExitWindows, InitiateSystemShutdown и другие функции.
0
|
|||
|
12 / 12 / 0
Регистрация: 08.10.2008
Сообщений: 105
|
||||
| 09.08.2013, 19:32 [ТС] | ||||
|
0
|
||||
|
Ушел с форума
|
|
| 09.08.2013, 21:23 | |
|
Могу предложить такой вариант:
В раздел реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Wi ndows NT\CurrentVersion\Winlogon, в значение Shell, записывается новый exe оболочки, вместо explorer.exe. Эта новая оболочка при старте загружает explorer.exe, патчит в нем ExitWindowsEx и запускает. Инжекта как бы и нет при таком раскладе, а кроме того, корректно будут обрабатываться ситуации с перезапуском оболочки (а такое бывает). Антивирусам вряд ли понравится, но это уже в большей степени административный вопрос, чем технический.
0
|
|
| 09.08.2013, 21:23 | |
|
Помогаю со студенческими работами здесь
6
shutdown убрать задержку выполнения
Текстовое сообщение при выключении компьютера с помощью команды SHUTDOWN
Как выключить Ups после shutdown? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|