Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/141.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ BHO无法更改注册表值_C++_Internet Explorer_Visual C++_Bho - Fatal编程技术网

C++ BHO无法更改注册表值

C++ BHO无法更改注册表值,c++,internet-explorer,visual-c++,bho,C++,Internet Explorer,Visual C++,Bho,在internet explorer导航到web地址之前,我想从BHO更改代理设置。 HKEY\ U当前\用户\软件\ Microsoft\Windows\CurrentVersion\Internet设置 我正在使用RegOpenKeyEx、RegSetValueEx、RegCloseKey在BHO中更改ProxyServer和ProxyEnable值,然后再导航2事件。但是当它使用RegOpenKeyEx打开注册表时,函数返回的值与ERROR_SUCCESS不同。如果我尝试用相同的代码更改注

在internet explorer导航到web地址之前,我想从BHO更改代理设置。 HKEY\ U当前\用户\软件\ Microsoft\Windows\CurrentVersion\Internet设置

我正在使用RegOpenKeyEx、RegSetValueEx、RegCloseKey在BHO中更改ProxyServer和ProxyEnable值,然后再导航2事件。但是当它使用RegOpenKeyEx打开注册表时,函数返回的值与ERROR_SUCCESS不同。如果我尝试用相同的代码更改注册表,但使用的是一个简单的程序,而不是BHO,那么该代码将正常工作,因此它在BHO中不工作

RegOpenKeyEx返回一个与ERROR_SUCCESS不同的长类型值,该值等于5,因此它似乎无法打开注册表。没有什么可以显示的,因为我的代码很简单,使用这3个函数打开注册表并更改值。如果我在桌面程序中也这样做,那么它将成功打开并更改注册表值。所以我认为它在注册表中有一些权限问题


如何使其工作,或如何在internet explorer导航之前将代理更改为web地址(带或不带注册表?

internet explorer使用WinInet API进行连接,因此您应该使用WinInet API来操作internet explorer的设置,特别是函数。不要直接操作注册表。例如,看看WinInet的
INTERNET\u选项\u PROXY
选项。

“不工作”应该有一些错误代码。另外,你可能想在你的
RegXxx
API使用中发布一些代码。代码很好,正如我所说的,这段代码在正常程序中工作,但在bho dll中不工作,没有任何显示,正如我在文章中所说,它只使用3个函数来处理注册表,regOpenKeyEx的返回值与ERROR_success不同,实际返回值是多少?它们是错误代码,告诉您实际的错误。@RemyLebeau RegOpenKeyEx返回的长类型值不同于error\u SUCCESS,等于5 error 5 is
error\u ACCESS\u DENIED
。不足为奇,因为BHO在IE进程中运行,IE在受限(低完整性)进程中运行。可以仅为具有InternetSetOptions的internet explorer设置代理?我不确定要在options中设置哪个连接名称。您可以演示一个示例如何仅为internet explorer设置代理吗?看起来您已经问了一个单独的问题:Remy,请您检查这个问题,我已经添加了完整的代码。我无法理解为什么它不使用InternetSetOption从文件完成更改代理,即使在BHO中,可能它没有执行此类功能的权限,但请您帮助我了解如何使其工作,我只需要更改IE的代理。我希望您的帮助