私のプログラムには、あらゆる種類のローカルドキュメントを開くことができるTWebBrowserがあります。たとえば、Word文書がTWebBrowser(つまりInternet Explorer)ではなくWordで開かれないようにするには、この命令で.regファイルを実行してレジストリ内の修正プログラムを正常に使用します。Delphiでレジストリにdword値を書き込む
[ます。HKEY_LOCAL_MACHINE \ SOFTWARE \クラス\ 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コードで次のように、キーは次のようになります。
違いは角括弧内の数字ですが、それはレジストリが自動的に導入するものです。
おそらく16進表現です。 Delphiでは$ 80000024を書かなければなりません。 –
@Uwe Raabe:ありがとう!それはこのように動作します! – Sierra
この変更は、プログラムのより多くの方法に影響します。問題を適切に解決する必要があります。 –