CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VB >  API

请问为什么我改了注册表键值之后,确没有办法激活呢?

楼主loulun()2005-02-01 15:04:22 在 VB / API 提问

小弟通过该注册表来修改代理服务器。即把ProxyServer键入,已经实现,但同时要把ProxyEnable变成1,明明已经成功了。但是必须要新开一个IE,打开“连接”的时候,ProxyEnable的键值才会变“1”,不知为何?  
  求救各位大侠了~~~~~  
   
  代码如下:  
   
  Public   Enum   REG_TOPLEVEL_KEYS  
    HKEY_CLASSES_ROOT   =   &H80000000  
    HKEY_CURRENT_CONFIG   =   &H80000005  
    HKEY_CURRENT_USER   =   &H80000001  
    HKEY_DYN_DATA   =   &H80000006  
    HKEY_LOCAL_MACHINE   =   &H80000002  
    HKEY_PERFORMANCE_DATA   =   &H80000004  
    HKEY_USERS   =   &H80000003  
  End   Enum  
  Private   Declare   Function   RegCreateKey   Lib   _  
        "advapi32.dll"   Alias   "RegCreateKeyA"   _  
        (ByVal   Hkey   As   Long,   ByVal   lpSubKey   As   _  
        String,   phkResult   As   Long)   As   Long  
         
  Private   Declare   Function   RegCloseKey   Lib   _  
        "advapi32.dll"   (ByVal   Hkey   As   Long)   As   Long  
         
  Private   Declare   Function   RegSetValueEx   Lib   _  
        "advapi32.dll"   Alias   "RegSetValueExA"   _  
        (ByVal   Hkey   As   Long,   ByVal   _  
        lpValueName   As   String,   ByVal   _  
        Reserved   As   Long,   ByVal   dwType   _  
        As   Long,   lpData   As   Any,   ByVal   _  
        cbData   As   Long)   As   Long  
         
  Private   Const   REG_SZ   =   1  
   
   
   
   
  '把长整型数值写入注册表  
  Private   Function   WriteLongToRegistry(Hkey   As   REG_TOPLEVEL_KEYS,   _  
          strPath   As   String,   strValue   As   String,   longdata   As   Long)   As   Boolean  
  Dim   bAns   As   Boolean  
   
  On   Error   GoTo   ErrorHandler  
        Dim   keyhand   As   Long  
        Dim   r   As   Long  
        r   =   RegCreateKey(Hkey,   strPath,   keyhand)   '建立键  
        If   r   =   0   Then  
        MsgBox   ("haha")  
         
        '成功  
        '设置键值  
                  MsgBox   ("开始对ProxyEnable赋值!")  
                  r   =   RegSetValueEx(keyhand,   strValue,   0,   _  
                          REG_SZ,   longdata,   1&)  
                 
  '                 '关闭键  
                  r   =   RegCloseKey(keyhand)  
          End   If  
          MsgBox   (r)  
        WriteLongToRegistry   =   (r   =   0)  
          MsgBox   (WriteLongToRegistry)  
         
  Exit   Function  
   
  ErrorHandler:  
          WriteLongToRegistry   =   False  
          Exit   Function  
           
  End   Function 问题点数:30、回复次数:11Top

1 楼jinjazz(近身剪)回复于 2005-02-01 15:08:30 得分 0

Sendmessage(HWND_BROADCAST,   WM_SETTINGCHANGE,   0,   0);  
   
  Top

2 楼loulun()回复于 2005-02-01 15:10:30 得分 0

楼上的,这句什么意思?  
   
  怎么用?Top

3 楼dongge2000(目前叫西西了)回复于 2005-02-01 15:16:42 得分 0

重启Top

4 楼loulun()回复于 2005-02-01 15:19:59 得分 0

????  
   
  Sendmessage(HWND_BROADCAST,   WM_SETTINGCHANGE,   0,   0);  
  是重启的意思啊?不好意思,小弟是新手,这句怎么用啊?  
  Top

5 楼loulun()回复于 2005-02-01 15:41:31 得分 0

麻烦各位告诉小弟了~  
  Sendmessage(HWND_BROADCAST,   WM_SETTINGCHANGE,   0,   0);这句怎么用啊?  
   
   
  之前Sendmessage应该怎么声明啊?需要调用什么么?  
   
  Top

6 楼jinjazz(近身剪)回复于 2005-02-01 15:43:00 得分 0

api函数Top

7 楼dongge2000(目前叫西西了)回复于 2005-02-01 15:46:23 得分 0

晕,重新启动你的PCTop

8 楼loulun()回复于 2005-02-01 15:48:45 得分 0

啊?重启PC?  
   
  难不成我每次换个代理就要重启一下电脑?Top

9 楼loulun()回复于 2005-02-01 15:50:39 得分 0

TO   jinjazz(近身剪(N-P攻略))    
          大哥,拜托,不要那么惜字如金,我是菜鸟,可否详细一点??  
          粘代码上来看看?  
  Top

10 楼wwqna(york)回复于 2005-02-01 15:57:26 得分 5

关闭explore(不是IE)也会重新加载整个注册表的Top

11 楼jinjazz(近身剪)回复于 2005-02-01 16:02:30 得分 25

Private   Const   LOCALE_SSHORTDATE   =   &H1F  
  Private   Const   WM_SETTINGCHANGE   =   &H1A  
  Private   Const   HWND_BROADCAST   =   &HFFFF&  
  Private   Declare   Function   PostMessage   Lib   "user32"   Alias   "PostMessageA"   (ByVal   hwnd   As   Long,   ByVal   wMsg   As   Long,   ByVal   wParam   As   Long,   ByVal   lParam   As   Long)   As   Long  
   
  PostMessage   HWND_BROADCAST,   WM_SETTINGCHANGE,   0,   0Top

相关问题

  • 求一注册表键值
  • 如何删除注册表键值?
  • 怎样删除注册表键值
  • 如何读取注册表键值?
  • ★★★★★注册表键值类型【求救】
  • 如何删除注册表键值
  • 注册表读取的键值跟实际键值不一样~~
  • 问:怎样用GetSetting得到注册表中的一个键值?
  • 如何读取注册表下某一键值?
  • 关于读注册表键值的一个问题。

关键词

  • dll
  • 注册表
  • settingchange
  • byval
  • hkey
  • advapi32
  • 小弟
  • as long
  • broadcast
  • sendmessage

得分解答快速导航

  • 帖主:loulun
  • wwqna
  • jinjazz

相关链接

  • Visual Basic类图书
  • Visual Basic类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo