代码方法(未经过测试)转自http://community.csdn.net/Expert/topic/4291/4291612.xml?temp=.3785059:
Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\0,1,2,3,4
'"1004"=dword:00000003
'"1200"=dword:00000000
'"1201"=dword:00000000
'"1400"=dword:00000000
'"1402"=dword:00000000
'"1405"=dword:00000000
设置成0 就是允许,3就是不允许。
你可以设置安全性后的注册表,和没有设置安全性注册表比较一下,差异就在这里。
我做这个软件的时候用到了。
http://www.supercss.com/software/6568.htm
我的具体代码,你在此基础上改一下:
Public Sub EnableJScript(b_run As Boolean)
'是否禁用脚本?
Dim i_cyc As Integer
Dim i_cya As Integer
Dim v_value As Variant
Dim s_value As String
On Error Resume Next
'"1004"=dword:00000003
'"1200"=dword:00000003
'"1201"=dword:00000003
'"1405"=dword:00000003
'
'"1004"=dword:00000003
'"1200"=dword:00000000
'"1201"=dword:00000000
'"1400"=dword:00000000
'"1402"=dword:00000000
'"1405"=dword:00000000
v_value = Array("1001", "1004", "1200", "1201", "1405")
If b_run = False Then
'备份
Set cn_value = Nothing
For i_cyc = 0 To 2
If GetKeyValue(HK_CURRENT_USER, "Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\" & i_cyc, "1400", s_value) Then
cn_value.Add s_value, i_cyc & "_1400"
Else
cn_value.Add "0", i_cyc & "_1400"
End If
Call SetKeyValue(HK_CURRENT_USER, "Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\" & i_cyc, 1400, REG_DWORD, 3)
Next
For i_cya = 0 To 2
For i_cyc = 0 To 4
If GetKeyValue(HK_CURRENT_USER, "Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\" & i_cya, CStr(v_value(i_cyc)), s_value) Then
cn_value.Add s_value, i_cya & "_" & v_value(i_cyc)
Else
cn_value.Add "0", i_cya & "_" & v_value(i_cyc)
End If
Call SetKeyValue(HK_CURRENT_USER, "Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\" & i_cya, "1400", REG_DWORD, 3)
Next
Next
Else
For i_cyc = 0 To 2
s_value = cn_value(i_cyc & "_1400")
Call SetKeyValue(HK_CURRENT_USER, "Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\" & i_cyc, "1400", REG_DWORD, Val(s_value))
Next
For i_cya = 0 To 2
For i_cyc = 0 To 4
s_value = cn_value(i_cya & "_" & v_value(i_cyc))
Call SetKeyValue(HK_CURRENT_USER, "Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\" & i_cya, CStr(v_value(i_cyc)), REG_DWORD, Val(s_value))
Next
Next
End If
End Sub
Public Sub SetKeyValue(ByVal hKey As REGToolRootTypes, s_KeyName As String, s_ValueName As String, ValueType As Integer, s_ValueData As Variant)
'ByVal KeyRoot As REGToolRootTypes, KeyName As String, ValueName As String, ByRef ValueData As String
Dim ret As Long
On Error GoTo Err1
RegCreateKey hKey, s_KeyName, ret
If ValueType = REG_DWORD Then
RegSetValueEx ret, s_ValueName, 0, ValueType, CLng(s_ValueData), 4
Else
RegSetValueEx ret, s_ValueName, 0, ValueType, ByVal s_ValueData, Len(s_ValueData)
End If
RegCloseKey ret
Err1:
End Sub
浙公网安备 33010602011771号