|
|
|
|
Главная / DELPHI /
Часто задаваемые вопросы и ответы на них / Win Api /
Мне
нужно программно установить некоторые файлы с установочного диска Windows. На
многих компьютерах CAB-файлы установки Windows находятся в каком-то каталоге
на жестком диске, на других - Windows был установлен с CD. Как узнать откуда
была установленна Windows?
|
|
|
|
Мне
нужно программно установить некоторые файлы с установочного диска Windows. На
многих компьютерах CAB-файлы установки Windows находятся в каком-то каталоге
на жестком диске, на других - Windows был установлен с CD. Как узнать откуда
была установленна Windows?
Эту
информацию можно получить из реестра. Пример:
uses Registry;
procedure TForm1.Button1Click(Sender: TObject); var reg: TRegistry; begin reg := TRegistry.Create; reg.RootKey := HKEY_LOCAL_MACHINE; reg.OpenKey('Software\Microsoft\Windows\CurrentVersion\SETUP',false); ShowMessage(reg.ReadString('SourcePath')); reg.CloseKey; reg.free; end;
Комментарий
от kidaloff (kidaloff@main.argo.mv.ru) Указанный код сработает
только в том случае, если пользователь имеет права администратора,
в общем же случае выскочит Exception. Объясняю почему
-> Дело в том что функция Reg.OpenKey - переопределенная - она
пытается открыть ключ реестра с уровнем доступа для записи, а в
куст HKLM записывать можно только с правами администратора -
следовательно выскочит Exception. Для решения этой
проблеммы, нужно использовать функции Reg.OpenKeyReadOnly, которая
открывает указанный ключ только для чтения...
|
Copyright ©
"Мастера DELPHI" E-mail:
delphi@mastak.com
http://www.delphimaster.ru |
Источник получения информации: http://www.delphimaster.ru
|
|