내 프로그램에는 사용자가 모든 종류의 로컬 문서를 열 수있는 TWebBrowser가 있습니다. 예를 들어, Word 문서가 TWebBrowser 대신 (즉, Internet Explorer에서) Word에서 열리지 않게하려면이 명령으로 .reg 파일을 실행하여 레지스트리에서 수정을 성공적으로 사용하십시오.델파이로 레지스트리에 dword 값을 입력하십시오.
이 코드 80000024내가 델파이 프로그램 자체에서 그 명령을 소개하려합니다 : :
[HKEY_LOCAL_MACHINE \ 소프트웨어 \ 클래스 \ Word.Document.12] "BrowserFlags"= DWORD를
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 파일로 조작 할 때 는 레지스트리 키는 다음과 같습니다:
그러나 다음과 같이 나의 실패 델파이 코드로, 키가됩니다
:차이점은 괄호 안에있는 숫자이지만 레지스트리 자체가 자동으로 소개하는 것입니다.
이것은 아마도 16 진수 표현입니다. 델파이에서는 $ 80000024를 작성해야합니다. –
@Uwe Raabe : 감사합니다! 그것은 이런 식으로 작동합니다! – Sierra
그 변화는 프로그램에 더 많은 영향을줍니다. 문제를 올바르게 해결해야합니다. –