Вверх ↑
Этот топик читают: Гость
Ответов: 14
Рейтинг: 2
#1: 2009-06-09 00:40:22 ЛС | профиль | цитата
Подскажите как стандартными средствами hiasm можно отследить выключение компьютера?
------------ Дoбавленo в 00.46:
Допустим перед выключение выдать сообщение
карма: 1

0
Ответов: 876
Рейтинг: 101
#2: 2009-06-09 04:47:05 ЛС | профиль | цитата
думаю приемник сообщения сам сделаешь


Add(MainForm,2953706,35,119)
{
Point(onClose)
link(onClose,14569276:doOpen,[])
}
Add(TCP_Client,14569276,112,140)
{
Port=80
link(onConnect,14569276:doSend,[(157,153)(157,181)(100,181)(100,160)])
link(IP,1404808:Value,[(118,110)(83,110)])
link(Data,6440559:Value,[])
}
Add(Memory,6440559,119,49)
{
Default=String(я спать)
}
Add(Memory,1404808,77,49)
{
Default=String(127.0.0.1)
}
карма: 1

1
Голосовали:Andrey
Ответов: 3851
Рейтинг: 159
#3: 2009-06-09 06:53:29 ЛС | профиль | цитата
а для ждущего и спящего режимов есть решения?
карма: 0
начавший
0
Гость
Ответов: 17029
Рейтинг: 0
#4: 2009-06-09 13:45:55 правка | ЛС | профиль | цитата


Редактировалось 4 раз(а), последний 2025-01-15 07:12:40
карма: 0

0
Ответов: 3851
Рейтинг: 159
#5: 2009-06-09 16:00:10 ЛС | профиль | цитата
плохо (очень) понимаю по английски (тем более код и скрипты), но вот это An application should process this event by completing all tasks necessary to save data наверное повод, чтобы обсудить необходимость пополнения HiAsm такими возможностями..
или это больше никому не нужно?
карма: 0
начавший
0
Администрация
Ответов: 15295
Рейтинг: 1519
#6: 2009-06-09 16:16:59 ЛС | профиль | цитата
можно поиграться с этим сообщением тут
code_13664.txt

умеет возвращать коды для следующих событий в системе
PBT_APMBATTERYLOW Уровень заряда аккумулятора низок
PBT_APMOEMEVENT Специфическое событие OEM
PBT_APMPOWERSTATUSCHANGE Состояние питания изменилось
PBT_APMQUERYSUSPEND Запрос разрешения на переход в режим ожидания
PBT_APMQUERYSUSPENDFAILED В запросе на переход в режим ожидания отказано
PBT_APMRESUMEAUTOMATIC Автоматическое возобновление выполнения операции после событи
PBT_APMRESUMECRITICAL Автоматическое возобновление выполнения операции после перехода в режим ожидания в критической ситуации
PBT_APMRESUMESUSPEND Автоматическое возобновление выполнения операции после перехода в режим ожидания
PBT_APMSUSPEND Система переходит в режим ожидания

карма: 27
2
файлы: 1code_13664.txt [1.2KB] [196]
Голосовали:Andrey, MAV
Ответов: 3851
Рейтинг: 159
#7: 2009-06-09 17:29:35 ЛС | профиль | цитата
по времени выдаются вот такие сообщения:

---нажатие кнопки перехода в ждущ.реж.---
17:21:39 - 0
17:21:48 - 4

---нажатие кнопки выхода из ждущ.реж.---
17:23:59 - 18
17:23:59 - 7
------------ Дoбавленo в 17.30:
что за цифры не понятно, но они выдаются и это хорошо
карма: 0
начавший
0
Ответов: 2125
Рейтинг: 159
#8: 2009-06-09 18:17:28 ЛС | профиль | цитата
MSDN писал(а):
#define PBT_APMQUERYSUSPEND 0x0000
#define PBT_APMQUERYSTANDBY 0x0001
#define PBT_APMQUERYSUSPENDFAILED 0x0002
#define PBT_APMQUERYSTANDBYFAILED 0x0003
#define PBT_APMSUSPEND 0x0004
#define PBT_APMSTANDBY 0x0005
#define PBT_APMRESUMECRITICAL 0x0006
#define PBT_APMRESUMESUSPEND 0x0007
#define PBT_APMRESUMESTANDBY 0x0008
#define PBT_APMBATTERYLOW 0x0009
#define PBT_APMPOWERSTATUSCHANGE 0x000A
#define PBT_APMOEMEVENT 0x000B
#define PBT_APMRESUMEAUTOMATIC 0x0012

карма: 1

1
Голосовали:Andrey
Ответов: 1304
Рейтинг: 405
#9: 2009-06-09 19:26:29 ЛС | профиль | цитата
Андрей., проверил результат такой-же, порыскал в интернете расшифровки все заканчиваются на 12 , а вобще первое число в паре запрос, второе потверждение. Если к этому IC, добавить отслеживание состояния батарей питания"GetSystemPowerStatus", то неплохой-бы получился компонент.
карма: 3

0
Ответов: 5446
Рейтинг: 323
#10: 2009-06-09 19:36:40 ЛС | профиль | цитата
MAV, а ты учёл, что числа - в 16-ричном формате? Так что 12(hex) -> 18 (dec)
карма: 1

0
Ответов: 1304
Рейтинг: 405
#11: 2009-06-09 19:49:00 ЛС | профиль | цитата
iarspider, не учёл , расмотрел буковки только после твоего сообщения.
карма: 3

0
Ответов: 3851
Рейтинг: 159
#12: 2009-06-09 21:13:05 ЛС | профиль | цитата
хочется переименовать элемент ExitWindows в WindowsPowering (или что-то похожее) с новыми возможностями. Осталость порешать вопрос с совместимостью версий..
карма: 0
начавший
0
Ответов: 1304
Рейтинг: 405
#13: 2009-06-09 22:21:57 ЛС | профиль | цитата
Андрей., неплохая мысль расширить функционал ExitWindows, можно название не трогать а добавить точку метода, типа doCheckPower и точку события onCheckPower. Самое ценное в том что можно успеть сохранить данные до выключения компьютера, уж не говоря о ведении всяческих логов.
карма: 3

1
Голосовали:Астрамак
Администрация
Ответов: 15295
Рейтинг: 1519
#14: 2009-06-10 13:16:35 ЛС | профиль | цитата
нее, не надо мешать два элемента в одну кучу. Код выше предназначен не только для информирования приложения о смене статуса системы питания, но и для возможности повлиять на этот процесс (по аналогии с верхней точкой Close у формы). Поэтому мешанину тут делать не стоит.
карма: 27
0
14
Сообщение
...
Прикрепленные файлы
(файлы не залиты)