Как узнать дату создания или модификации ключа реестра
Как узнать дату создания или модификации ключа реестра
Еще одна несложная, но полезная задача: как узнать дату создания или модификации ключа реестра? Например, некоторые программы для очистки реестра от всякого мусора показывают эту информацию. Еще ее можно посмотреть, если экспортировать через regedit ветку реестра в формате текстового файла (*.txt). А вот как получить эту информацию из своего приложения, я вам сейчас расскажу.
На самом деле все решается одной единственной функцией - RegQueryInfoKey. С ее помощью можно получить не только данные о дате модификации, но и множество другой полезной информации. Но сейчас нас интересует только дата и время создания или модификации ключа реестра. Кроме того есть несколько важных особенностей, которые важно учитывать. Начнем с сегмента данных, в котором подготовим все необходимые структуры и переменные.
Code (Assembler) : Убрать нумерацию
- ; Ветка реестра
- reg_key db 'SOFTWARE\Microsoft',0
- ; Хэндл открытого ключа реестра
- phkResult dd ?
- ; Структуры для работы с датой и временем
- ftime FILETIME
- ltime FILETIME
- stime SYSTEMTIME
Code (Assembler) : Убрать нумерацию
- ; Открыть ключ реестра
- invoke RegOpenKey,HKEY_LOCAL_MACHINE,reg_key,phkResult
- ; Получить информацию о ключе реестра
- invoke RegQueryInfoKey,[phkResult],\
- NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,\
- ftime
- ; Закрыть ключ
- invoke RegCloseKey,[phkResult]
- ; Преобразование времени в локальное
- invoke FileTimeToLocalFileTime,ftime,ltime
- invoke FileTimeToSystemTime,ltime,stime
- ; Теперь в структуре stime (SYSTEMTIME) находится дата и время
- ; создания или модификации ветки реестра
А вот получить дату создания или модификации какого-либо конкретного параметра ключа нельзя, только если он не единственный в ключе. В этом случае действительно, дата модификации ключа будет в точности равна дате модификации или создания этого параметра.
В приложении пример программы с исходным текстом, которая показывает дату создания или последней модификации ключа реестра HKLM\SOFTWARE\Microsoft вашей системы.
Просмотров: 5397 | Комментариев: 2
Внимание! Статья опубликована больше года назад, информация могла устареть!
Комментарии
Отзывы посетителей сайта о статье
ManHunter
(12.09.2017 в 15:12):
Системную дату выставить на нужное значение -> что-то сделать с ключом/параметрами -> вернуть системную дату обратно. Как-то так.
DJZLO
(12.09.2017 в 14:09):
Спасибо! А, нельзя поменять дату назад - ну т.е. изменить на старое значение? Встречал софт который время создания или модификации и "слушал".
Добавить комментарий
Заполните форму для добавления комментария