2014-05-10 2 views
0

인터넷 익스플로러가 웹 주소를 탐색하기 전에 BHO에서 프록시 설정을 변경하고 싶습니다. 내가 RegOpenKeyEx을 사용하고 HKEY_CURRENT_USER \ 소프트웨어 \ 마이크로 소프트 \ 윈도우 \ CurrentVersion \ 인터넷 설정BHO가 레지스트리 값을 변경할 수 없습니다.

는, RegSetValueEx,을 RegCloseKey는 BHO, BEFORENAVIGATE2 이벤트 proxyserver를하고 ProxyEnable 값을 변경합니다. 그러나 RegOpenKeyEx를 사용하여 레지스트리를 열면이 함수는 ERROR_SUCCESS와 다른 값을 반환합니다. 동일한 코드를 사용하지만 BHO가 아닌 간단한 프로그램에서 레지스트리를 변경하려고하면이 코드가 작동하므로 BHO에서 작동하지 않습니다.

RegOpenKeyEx는 5와 같은 ERROR_SUCCESS와 다른 LONG 유형 값을 반환하므로 레지스트리를 열 수 없습니다. 내 코드는 레지스트리를 열고 값을 변경하는 3 가지 함수를 사용하여 간단하기 때문에 표시 할 내용이 없습니다. 데스크톱 프로그램에서 동일한 작업을 수행하면 레지스트리 값이 성공적으로 열리고 변경됩니다. 그래서 그것은 레지스트리와 관련된 몇 가지 권한 문제가 있다고 생각합니다.

인터넷 탐색기가 레지스트리의 유무에 관계없이 웹 주소로 이동하기 전에 프록시를 변경하거나 작동시키는 방법은 무엇입니까?

+0

"작동하지 않음"으로 추정되는 오류 코드가 있습니다. 또한'RegXxx' API 사용에 대해 몇 가지 코드를 게시하고 싶을 수도 있습니다. –

+0

이 코드는 정상적인 프로그램에서 작동하지만 bho dll에서는 작동하지 않는다고 했으므로 아무 것도 표시되지 않고 단지 내 기능에 대해 3 가지 기능을 사용하여 레지스트리에서 작업하고 리턴 값은 regOpenKeyEx가 ERROR_SUCCESS와 다릅니다. – ManY

+0

실제 반환 값은 무엇입니까? 그들은 실제로 잘못된 것을 알려주는 오류 코드입니다. –

답변

1

Internet Explorer는 연결에 WinInet API를 사용하므로 WinInet API를 사용하여 Internet Explorer의 설정, 특히 InternetSetOption() 기능을 조작해야합니다. 레지스트리를 직접 조작하지 마십시오. 예를 들어, WinInet의 INTERNET_OPTION_PROXY 옵션을보십시오.

+0

인터넷 익스플로러에서만 InternetSetOptions를 사용하여 프록시를 설정할 수 있습니까? – ManY

+0

옵션에서 설정할 연결 이름을 모르겠습니다. 인터넷 익스플로러에만 프록시를 설정하는 방법을 보여 주시겠습니까? – ManY

+0

InternetSetOptions도 BHO에서 작동하지 않습니다. – ManY

관련 문제