|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
22.03.2010, 17:01 | #1 |
Пользователь
Регистрация: 13.01.2010
Сообщений: 77
|
Определить версию ОС, дату установки и последнего перезапуска
Доброго времени суток! Срочно понадобилось написать программу на Delphi, определяющую версию ОС(с этим я справилась, много инфы), дату установки и дату последнего перезапуска ОС- с последними двумя возникли проблемы. Дату установки я думаю можно решить так: извлечь параметр installDate из реестра Windows(хранится в шестнадцатеричном виде в разделе [HKEY_LOCAL_MACHINE\SOFTWARE\Microso ft\Windows NT\CurrentVersion] в REG_DWORD-параметре InstallDate). Этот параметр InstallDate показывает количество секунд, прошедших с 1 января 1970 г. до момента установки операционной системы. Приплюсовать их к указанной дате и все! Дело только в том, что я в силу малого опыта не могу реализовать это на дельфи.. на счет даты последнего перезапуска такая же проблема.
|
22.03.2010, 17:23 | #2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Ну например вот код:
Код:
I'm learning to live...
|
22.03.2010, 17:32 | #3 |
Пользователь
Регистрация: 13.01.2010
Сообщений: 77
|
Ошибка(см. вложение)... мне кажется все дело в d:=r.ReadDate('InstallDate'); так как InstallDate - это не дата, а кол-во секунд и при том в шестнадцатеричном виде...как исправить?
|
22.03.2010, 17:43 | #4 |
Форумчанин
Регистрация: 28.03.2008
Сообщений: 940
|
А у меня вообще параметра IntallDate нету... хм
-ДОБАВИЛ- Сорри, глянул в Windows, а не Windwos NT.. Там просто гляньте дату создания папки Windows и непарте мозни) -ДОБАВИЛ- Вот изменил кое-какой листинг и вроде вышло: Код:
P.S.: "дату последнего перезапуска ОС" - вы имеете ввиду, сколько компьютер работает после включения или когда компьютер последний раз делал Перезагрузку? Если второе, то не думаю что получеться, а если первое, то пожалуйтса: Код:
Последний раз редактировалось W0LF; 22.03.2010 в 18:31. |
22.03.2010, 18:33 | #5 |
Пользователь
Регистрация: 13.01.2010
Сообщений: 77
|
Спасибо Вам большое!!
Я тоже поковырялась, исправила и получила: var r:TRegistry;d:integer; w:Integer; begin r:=TRegistry.Create; r.RootKey:=HKEY_LOCAL_MACHINE; r.OpenKey('\SOFTWARE\Microsoft\Wind ows NT\CurrentVersion',false); //r.ReadBinaryData('InstallDate',d,si zeof(d)); d:=r.ReadInteger('InstallDate'); label5.Caption :=inttostr(d); r.Free; .. получила в десятичной форме кол-во секунд, прошедших с 1 января 1970 года до моей установки ОС. Сейчас попробую ваш метод и правда может не париться сильно =) |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как определить версию браузера IE пользователя? | AgentVlad | PHP | 6 | 08.10.2009 13:00 |
посчитать сумму m последнего числа n | лялька | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 25.12.2008 14:12 |
БД, обнуление данных после перезапуска | Жека:) | Общие вопросы C/C++ | 3 | 28.11.2008 20:09 |
Данные сохранить в файл и без перезапуска программы отобразить в grid-e | xdevi | Помощь студентам | 2 | 29.01.2008 09:17 |
Как определить полную версию Windows | Crazyman | Windows | 6 | 27.01.2008 02:19 |