В моей программе есть TWebBrowser, где пользователь может открывать все виды локальных документов. Чтобы избежать этого, например, документ Word открывается в Word, а не в TWebBrowser (то есть в Internet Explorer), я успешно использую исправление в реестре, выполнив файл .reg с этой инструкцией:Запишите значение dword в реестре с Delphi
[HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes \ Word.Document.12] "BrowserFlags" = DWORD: 80000024
Я пытаюсь представить, что обучение в самой программе Delphi, с этим кодом:
procedure RegOpenExplorer;
var
reg: TRegistry;
begin
reg:= TRegistry.Create;
try
reg.RootKey:=HKEY_LOCAL_MACHINE;
reg.OpenKey('SOFTWARE\Classes\Word.Document.12\', true);
reg.WriteInteger('BrowserFlags',80000024);
reg.CloseKey;
finally
reg.Free;
end;
end;
Это не работает, на самом деле эффект отменяет исправление.
Когда успешно манипулируют с файлом .reg (или вручную), ключ реестра выглядит следующим образом:
Но с моей неудачной Delphi кодекса, ключ становится следующим:
Разница - это число в скобках, но это то, что реестр вводит автоматически сам по себе.
Это, вероятно, шестнадцатеричное представление. В Delphi вы должны написать $ 80000024. –
@Uwe Raabe: Спасибо! Он работает так! – Sierra
Это изменение влияет только на вашу программу. Вы должны решить проблему должным образом. –