Delphi - объектно-ориентированный язык программирования, разработанный компанией Borland в 1995 году. Он основан на языке программирования Pascal, но имеет более расширенные возможности и добавлены новые функции.
Delphi является интегрированной средой разработки (IDE), которая позволяет разрабатывать программное обеспечение для различных платформ, включая Windows, macOS, Android и iOS. Delphi достигает многоплатформенности с помощью...
{ **** UBPFD *********** by delphibase.endimus.com **** >> Обновление файла после перезагрузки системы Данная процедура настраивает систему для обновления файлов после перезагрузки. TargetFileName - имя файла, содержиоме которого при перезагрузке будет заменено на содержимое файла, имя которого укзаывается в параметре SourceFileName. Если первый аргумент процедуры представляет собой пустую строку, при перезагрузке файл SourceFileName будет удалён. Зависимости: Windows Автор: Dimka Maslov, mainbox@endimus.ru, ICQ:148442121, Санкт-Петербург Copyright: Dimka Maslov Дата: 18 ноября 2002 г. ***************************************************** } procedureBootReplaceFile(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 Filesproga.exe', 'c: empproga.exe'); // Указанный файл будет удалён после перезагрузки BootReplaceFile('', 'c: empproga.exe');