![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как программно включить компьютер? [D6, Win95/98, Win2k]
sural © (2002-10-27 05:47:00)Очень нужно программно включать комп в определённое время. Как это можно сделать?
DC-AC (2002-11-04 07:45:00) [1]То же самое. Только я ищу инфу по другим функциям int 1ah, применительно к PCI. Буду копать в сторону SetupAPI и DeviceIOControl.
vic_774N (2002-11-01 21:13:00) [2]DC-AC:
Совершенно верно.
Теперь хочу перенести это в системы W2K/XP , но нужно писать драйвер или хотябы найти какой намек как грамотно это реализовать. Да вот запрос на поиск пока грамотно не удается составить - все находится разная ерунда :-(
DC-AC (2002-11-01 14:52:00) [3]vic_774N :
Кстати, будильник через INT 1aH fn 06H (Set Real-Time Clock Alarm) реализовывали ?
Карлсон (2002-10-31 17:48:00) [4]а где же dfm файл?
вышлите мне на мыло, если не трудно, хотя я и скачать могу :)
cy_27@mail.ru
vic_774N (2002-10-31 10:39:00) [5]В общем по порядку:
мне понадобилось забирать почту в автоматическом режиме ( когда я на работе, дома
никто не сможет это сделать). Держать компьютер включенным круглые сутки - денег
не напасешься на электроэнергию. А биос AMI на моей материнке MSI MS-6195 поддерживает
функцию Resume by Alarm - значения от 0 до 31 - дни ( 0 - каждый день) ну и время (hh:mm:ss)
На моей машине CMOS тоже занимет 80h байт, но тут такой момент интересный:
адреса в CMOS c 0 до 9 не защищены контрольной суммой, одинаковы для всех биос
(может я не прав?), а в 98 windows возможно по прерыванию 1АН функция 6Н установить
этот самый Alarm.
Ну а по поводу работы - у меня работает без проблем, но если я вхожу в BIOS SETUP
то данные в ячейки 1,3,5 заполняются из 67h-69h ячеек CMOS
7Dh - дата RTC Alarm в BCD формате ( 0 - каждый день 1 - 31 соответственно числа в месяце),
67h - часы RTC Alarm в HEX формате ( у меня при 00 часа в ячейке 67h -> 20h ),
68h - минуты RTC Alarm в HEX формате ( у меня при 00 минутах в ячейке 68h -> 40h ),
69h - секунды RTC Alarm в HEX формате ( у меня при 00 секундах в ячейке 69h -> 00h ),
защищено это контрольной суммой в ячейках
3Eh,3Fh в HEX формате ( к текущему значению добавляетсязначение часов,минут,секунд).
<====================================================================================>
Из книги "Аппаратное обеспечение IBM PC" (C) 1991-92 А. В. Фролов, Г. В. Фролов.
Доступ к часам реального времени возможен либо через ячейки КМОП-памяти, либо через
специальные функции BIOS (что более предпочтительно с точки зрения независимости
работы программы от особенностей аппаратуры).
На входе: AH = 06h
CH = часы в формате BCD
CL = минуты в BCD
DH = секунды в BCD
На выходе: CF = CY=1, если часы реального времени не установлены.
<====================================================================================>
зная эти очень просто написать программу которая будет будить комп в нужное время хоть через
каждые 5 минут ...
я сегодня выложу программу для считывания CMOS
можете сами определить что у вас в ячейках и как и где.
а должно быть так:
Today is 31/10/2002 9:32:45
Alarm time is Everi day 8:27:25
Day of week is 3
daylight savings enable
24-hr mode
BCD date mode
turn OFF square wave
DISABLE update-ended int
ENABLE alarm int
ENABLE periodic int
OK to read
CMOS-RAM is receiving power
Time valid
Hard disk OK
RAM size right
Configuration record right
Checksum valid
real-time clock battery work
soft reset (Ctrl-Alt-Del) or unexpected shutdown
Base memory 640 bytes
Extended memory 0 64512 bytes
Checksum of CMOS addr 10H - 2DH 944
Checksum of CMOS addr 10H - 2DH 944 summed
Extended memory 1 64512 bytes
Current century in BCD(eg,19H) 20
used by "Setup" utility
IBM 128K memory option NOT installed
Miscellaneous info 80
а компоненты здесь ( без dll ) и для просмотра http://delphi.mastak.ru/download/812.zip
- только если что измените - на меня бочку не катить коль машина после этого заглючит
DJ_Sedoy (2002-10-31 07:41:00) [6]2DC-AC: Писал троян, AVP не видит. FireWall... Можем его вырубить... И не надо путать dll от производителя железа (солидные компании и люди, да и можешь не сомневаться, в магазине на штампованный диск вирусов не могли записать) и стороннего неизвестного производителя
Но dll конечно не очень хорошо (к вопросу о компоненте)
AlexKniga (2002-10-30 11:46:00) [7]http://forum.ixbt.com/0026/011314.html#8
AlexKniga (2002-10-30 11:42:00) [8]2 LexusU А вот уменя не работает!!!и не будет.
Vic_774Nсоздал свое детище на основе
ftp://ftp.tsu.ru/pub/techdocs/Hardware/Intel/Chipset/cmos/cmos.txt
Не учитывая, что это верно не для всех. На моей машине CMOS занимет 80h байт, а не 40h как по cmos.txt.
В общем смотри http://forum.ixbt.com/0026/011314.html, я рыл, да не дорыл.
LexusU (2002-10-30 09:31:00) [9]А вот уменя не работает!!!
Мама: GA-7VMM BIOS: AMI
хотя если руками в БСВВ задавать время включение то всё ОК!
DC-AC (2002-10-30 07:18:00) [10]Slym :
Файервол надо на компе держать. И AVP тоже. Тогда всяких dll не будешь панически бояться. Ты когда драйвера на оборудование ставишь, сколько dll-ок в самые разные места устанавливается ? Бррр... ужас, да ?
Slym (2002-10-30 05:53:00) [11]Не солидно компоненты с дллками рассылать...
Ты что в длл засунул? Код своего компонента?
А может троянец какой? Вот так и появляются дыры и баги...
Ты лучше без длл... открой код "Гюльчитай"...
vic_774N (2002-10-29 19:21:00) [12]Хм, я пока с WDM не совсем разобрался. нарисовал один, а он при выполнении прерывания 1А завешивает систему напрочь, да и его присутствие в системе не дает виндам уйти в спячку...
так что придется подождать :(
А может кто подскажет по этому поводу чего полезного ?!
Yegor Derevenets (2002-10-29 18:41:00) [13]Информация к размышлению: не всякий блок питания годится для нормальной работы функций у ATX-корпусов как Resume by Ring, Resume by LAN и т. д. Цитата из брошюры от моей матери:
"Плата поддерживает сигналы пробуждения системы WakeUp on LAN, Keyboard и Mouse, однако ATX источник питания Вашей системы должен предоставлять как минимум 720мА в 5В цепи напряжения ждущего режима (standby). В противном случае, эта функция будет работать не правильно".
P.S. Vic_774N, буду ждать компонент под W2k.
sural (2002-10-29 15:04:00) [14]vic_774N, компонент - клёвая штука, спасибо.
Карелин Артем (2002-10-29 15:01:00) [15]FAQ надо переименовать в "редко просматриваемые ответы"
http://delphi.mastak.ru/cgi-bin/faq.pl?look=1&id=988621106&n=15
>>"rundll32 shell32,SHExitWindowsEx 1" - Выключение Компутера.
Lony (2002-10-29 14:47:00) [16]vic_774N ©
Почему-то не работает, хотя корпус вроде как ATX и в BIOS"е всё должно быть Ok. Хотя у меня почему-то не работает будильник в BIOS"е, в чём может быть проблема?
vic_774N (2002-10-29 08:10:00) [17]На днях выложу компонент для просмотраячеек CMOS с 0h до 7Fh.
vic_774N (2002-10-28 23:01:00) [18]Ну вот - обещал сегодня выложить и выложил .
ссылка на компонент и тест: http://delphi.mastak.ru/download/807.zip
DJ_Sedoy (2002-10-28 07:23:00) [19]Интересно... В принципе у меня в CMOS есть такие параметры... Но сколько не бился - нифига он не включается... Интересно посмотреть на компонент - полезная штука.
Геннадий (2002-10-27 19:34:00) [20]А при чём здесь прирывания при выключенном компьютере? Уважаемый коллега имеет ввиду "используйте прерывания для заполнения ячеек CMOS при включенном компьютере, чтобы потом он сам включился". То есть, твоя программка корректирует значение в этих ячейках, задавая время запуска. Там ещё по-моему нужно и разрешить то самое автовключение. Затем программка завершается. Компьютер выключается (можно программно). А когда настаёт момент комп берёт и включается! Естественно в этот питание должно подваться на системный блок (вилку из розетки не выключаем). А блок питания должен быть ATX. Вот так я себе это всё представляю.