Обновление файла после перезагрузки системыDelphi , ОС и Железо , КомпьютерОбновление файла после перезагрузки системы
Автор: Dimka Maslov { **** UBPFD *********** by delphibase.endimus.com **** >> Обновление файла после перезагрузки системы Данная процедура настраивает систему для обновления файлов после перезагрузки. TargetFileName - имя файла, содержиоме которого при перезагрузке будет заменено на содержимое файла, имя которого укзаывается в параметре SourceFileName. Если первый аргумент процедуры представляет собой пустую строку, при перезагрузке файл SourceFileName будет удалён. Зависимости: Windows Автор: Dimka Maslov, mainbox@endimus.ru, ICQ:148442121, Санкт-Петербург Copyright: Dimka Maslov Дата: 18 ноября 2002 г. ***************************************************** } procedure BootReplaceFile(TargetFileName, SourceFileName: string) var WinInitName: string; P: PChar; procedure InternalGetShortPathName(var S: string); begin UniqueString(S); GetShortPathName(PChar(S), PChar(S), Length(S)); SetLength(S, StrLen(@S[1])); CharToOEM(PChar(S), PChar(S)); end; begin if Win32Platform = VER_PLATFORM_WIN32_NT then begin if TargetFileName <> '' then P := PChar(TargetFileName) else P := nil; MoveFileEx(PChar(SourceFileName), P, MOVEFILE_DELAY_UNTIL_REBOOT or MOVEFILE_REPLACE_EXISTING); end else begin SetLength(WinInitName, MAX_PATH); GetWindowsDirectory(@WinInitName[1], MAX_PATH); SetLength(WinInitName, StrLen(@WinInitName[1])); WinInitName := IncludeTrailingBackslash(WinInitName) + 'WININIT.INI'; if TargetFileName = '' then TargetFileName := 'NUL' else InternalGetShortPathName(TargetFileName); InternalGetShortPathName(SourceFileName); WritePrivateProfileString('Rename', PChar(TargetFileName), PChar(SourceFileName), PChar(WinInit)); end; end; Пример использования: // После перезагрузки содержимое первого файла будет заменено на // содержимое второго файла, а второй файл будет удалён BootReplaceFile('c:\Program Files\proga.exe', 'c:\temp\proga.exe'); // Указанный файл будет удалён после перезагрузки BootReplaceFile('', 'c:\temp\proga.exe'); Статья Обновление файла после перезагрузки системы раздела ОС и Железо Компьютер может быть полезна для разработчиков на Delphi и FreePascal. Комментарии и вопросыМатериалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |