请问为什么我改了注册表键值之后,确没有办法激活呢?
小弟通过该注册表来修改代理服务器。即把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




