1.想把某个键值改掉怎么做?
我是先RegDeleteValue再RegCreateKey的,有没有更直接能替换的?注册表的引用不用我管了吧,这就是自动替换的
Sub AddRunSelf()
Dim AppInfo As String
Dim Result As String
Dim hkeyhandle As Long
'添加自动运行
On Error GoTo Err:
AppInfo = App.Path & "\" & App.EXEName & ".exe"
Result = RegCreateKey(HKEY_LOCAL_MACHINE, "Software\Microsoft\Windows\CurrentVersion\Run", hkeyhandle)
Result = RegSetValueEx(hkeyhandle, "YXSoft", 0&, REG_SZ, AppInfo, LenB(StrConv(AppInfo, vbFromUnicode))) '写入中英文混合的实际长度
Result = RegCloseKey(hkeyhandle)
Exit Sub
Err:
End Sub
2.想问题一下,增删IE的右键菜单里的条目,对应的键在哪?
HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt下
Context 243 为全部连接都可以有菜单 34为图片等[10进制的时候哦]下一部就要使用到了类与NetAnts目录下的NaGet.htm文件的东东了,是用脚本程序来启动相应的动态连接库的;动态连接库来执行你要执行的程序;
明白了么?不明白给俺短信息,请写明贴子的URL号
我是先RegDeleteValue再RegCreateKey的,有没有更直接能替换的?注册表的引用不用我管了吧,这就是自动替换的
Sub AddRunSelf()
Dim AppInfo As String
Dim Result As String
Dim hkeyhandle As Long
'添加自动运行
On Error GoTo Err:
AppInfo = App.Path & "\" & App.EXEName & ".exe"
Result = RegCreateKey(HKEY_LOCAL_MACHINE, "Software\Microsoft\Windows\CurrentVersion\Run", hkeyhandle)
Result = RegSetValueEx(hkeyhandle, "YXSoft", 0&, REG_SZ, AppInfo, LenB(StrConv(AppInfo, vbFromUnicode))) '写入中英文混合的实际长度
Result = RegCloseKey(hkeyhandle)
Exit Sub
Err:
End Sub
2.想问题一下,增删IE的右键菜单里的条目,对应的键在哪?
HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt下
Context 243 为全部连接都可以有菜单 34为图片等[10进制的时候哦]下一部就要使用到了类与NetAnts目录下的NaGet.htm文件的东东了,是用脚本程序来启动相应的动态连接库的;动态连接库来执行你要执行的程序;
明白了么?不明白给俺短信息,请写明贴子的URL号
解决方案 »
- 周六我一哥们VB补考,预定一高玩帮忙解决些问题,有人么。
- VBScript中的数组做参数调用动态库中的方法,提示类型不匹配?
- 如何判断一个字符串里含有多少个中文,多少个英文字母,多少个数字?
- 如何屏蔽Win键和Ctrl+ESC?
- VB中如何用API进行串口接收和发送通讯操作,不使用控件
- 关于网吧收费软件VB源码
- 难道RECORDSET不能插入数据吗?
- vb 中取整
- 关于软件执行时候出现版本信息的方法
- 请大家帮个忙啊,是关于VB跟OFFICE的问题,我说话算数的,答了肯定有分!谢谢!很急,大家能快点给我答案吗?
- VB 的数据库开发 有什么好的参考书????
- 我通过API读写的INI文件,倒底存在硬盘上的什么地方?
http://www.sqreg.com/file/vb/reg_01.htm
http://www.sqreg.com/file/vb/reg_02.htm
http://www.sqreg.com/file/vb/reg_03.htm
http://www.sqreg.com/file/vb/reg_04.htm
http://www.sqreg.com/file/vb/reg_05.htm
http://www.sqreg.com/file/vb/reg_06.htm
http://www.sqreg.com/file/vb/reg_07.htm
新加一个变量:
Dim a As String将retValue = RegQueryValueEx(keyId, subKey, 0, REG_SZ, 0, bufSize)修改为:retValue = RegQueryValueEx(keyId, subKey, 0, REG_SZ, ByVal a, bufSize)。OK。代码如下:'///////////////////////模块内容///////////////////////////
Option Explicit
Public Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Public 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 ' Note that if you declare the lpData parameter as String, you must pass it By Value.
Public Declare Function RegQueryValueEx Lib "advapi32.dll" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, lpType As Long, lpData As Any, lpcbData As Long) As Long ' Note that if you declare the lpData parameter as String, you must pass it By Value.
Public Declare Function RegReplaceKey Lib "advapi32.dll" Alias "RegReplaceKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal lpNewFile As String, ByVal lpOldFile As String) As Long
Public Declare Function RegDeleteValue Lib "advapi32.dll" Alias "RegDeleteValueA" (ByVal hKey As Long, ByVal lpValueName As String) As Long
Public Declare Function RegDeleteKey Lib "advapi32.dll" Alias "RegDeleteKeyA" (ByVal hKey As Long, ByVal lpSubKey As String) As LongPublic Const HKEY_LOCAL_MACHINE = &H80000002
Public Const HKEY_CURRENT_USER = &H80000001Public Const REG_SZ = 1 ' Unicode nul terminated string
Public Const REG_DWORD = 4 ' 32-bit number
Public Const REG_BINARY = 3 ' Free form binary'///////////////////////窗体代码////////////////////////
Option Explicit
Private Const RegKey = "NirvanaIII\test"
Dim subKey As String
Dim keyId As Long
Private Sub Command1_Click()'删除HKEY_CURRENT_USER\NirvanaIII\test\Window Width 键Call RegDeleteValue(keyId, "Window Width")
End Sub
Private Sub Form_Load()
Dim retValue As Long
Dim result As Long
Dim keyValue As LongDim a As StringDim bufSize As LongretValue = RegCreateKey(HKEY_CURRENT_USER, RegKey, keyId)
If retValue = 0 Then
'///////////////// 段2 //////////////////////////////
subKey = "WHeight"
retValue = RegQueryValueEx(keyId, subKey, 0, REG_SZ, ByVal a, bufSize)
If bufSize < 2 Then
keyValue = 88
retValue = RegSetValueEx(keyId, subKey, 0, REG_SZ, keyValue, Len(keyValue) + 1)
Else
retValue = RegQueryValueEx(keyId, subKey, 0, REG_SZ, keyValue, bufSize)
End If
'/////////////////////////////////////////////////////////////
'///////////////// 段1 //////////////////////////
subKey = "Window Width"
retValue = RegQueryValueEx(keyId, subKey, 0, REG_SZ, ByVal a, bufSize)
If bufSize < 2 Then
keyValue = 65
retValue = RegSetValueEx(keyId, subKey, 0, REG_SZ, keyValue, Len(keyValue) + 1)
Else
retValue = RegQueryValueEx(keyId, subKey, 0, REG_SZ, keyValue, bufSize)
End If
'////////////////////////////////////////////////////////
End IfEnd Sub
新加一个变量:
Dim a As String将retValue = RegQueryValueEx(keyId, subKey, 0, REG_SZ, 0, bufSize)修改为:retValue = RegQueryValueEx(keyId, subKey, 0, REG_SZ, ByVal a, bufSize)。OK。代码如下:'///////////////////////模块内容///////////////////////////
Option Explicit
Public Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Public 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 ' Note that if you declare the lpData parameter as String, you must pass it By Value.
Public Declare Function RegQueryValueEx Lib "advapi32.dll" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, lpType As Long, lpData As Any, lpcbData As Long) As Long ' Note that if you declare the lpData parameter as String, you must pass it By Value.
Public Declare Function RegReplaceKey Lib "advapi32.dll" Alias "RegReplaceKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal lpNewFile As String, ByVal lpOldFile As String) As Long
Public Declare Function RegDeleteValue Lib "advapi32.dll" Alias "RegDeleteValueA" (ByVal hKey As Long, ByVal lpValueName As String) As Long
Public Declare Function RegDeleteKey Lib "advapi32.dll" Alias "RegDeleteKeyA" (ByVal hKey As Long, ByVal lpSubKey As String) As LongPublic Const HKEY_LOCAL_MACHINE = &H80000002
Public Const HKEY_CURRENT_USER = &H80000001Public Const REG_SZ = 1 ' Unicode nul terminated string
Public Const REG_DWORD = 4 ' 32-bit number
Public Const REG_BINARY = 3 ' Free form binary'///////////////////////窗体代码////////////////////////
Option Explicit
Private Const RegKey = "NirvanaIII\test"
Dim subKey As String
Dim keyId As Long
Private Sub Command1_Click()'删除HKEY_CURRENT_USER\NirvanaIII\test\Window Width 键Call RegDeleteValue(keyId, "Window Width")
End Sub
Private Sub Form_Load()
Dim retValue As Long
Dim result As Long
Dim keyValue As LongDim a As StringDim bufSize As LongretValue = RegCreateKey(HKEY_CURRENT_USER, RegKey, keyId)
If retValue = 0 Then
'///////////////// 段2 //////////////////////////////
subKey = "WHeight"
retValue = RegQueryValueEx(keyId, subKey, 0, REG_SZ, ByVal a, bufSize)
If bufSize < 2 Then
keyValue = 88
retValue = RegSetValueEx(keyId, subKey, 0, REG_SZ, keyValue, Len(keyValue) + 1)
Else
retValue = RegQueryValueEx(keyId, subKey, 0, REG_SZ, keyValue, bufSize)
End If
'/////////////////////////////////////////////////////////////
'///////////////// 段1 //////////////////////////
subKey = "Window Width"
retValue = RegQueryValueEx(keyId, subKey, 0, REG_SZ, ByVal a, bufSize)
If bufSize < 2 Then
keyValue = 65
retValue = RegSetValueEx(keyId, subKey, 0, REG_SZ, keyValue, Len(keyValue) + 1)
Else
retValue = RegQueryValueEx(keyId, subKey, 0, REG_SZ, keyValue, bufSize)
End If
'////////////////////////////////////////////////////////
End IfEnd Sub
新加一个变量:
Dim a As String将retValue = RegQueryValueEx(keyId, subKey, 0, REG_SZ, 0, bufSize)修改为:retValue = RegQueryValueEx(keyId, subKey, 0, REG_SZ, ByVal a, bufSize)。OK。代码如下:'///////////////////////模块内容///////////////////////////
Option Explicit
Public Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Public 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 ' Note that if you declare the lpData parameter as String, you must pass it By Value.
Public Declare Function RegQueryValueEx Lib "advapi32.dll" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, lpType As Long, lpData As Any, lpcbData As Long) As Long ' Note that if you declare the lpData parameter as String, you must pass it By Value.
Public Declare Function RegReplaceKey Lib "advapi32.dll" Alias "RegReplaceKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal lpNewFile As String, ByVal lpOldFile As String) As Long
Public Declare Function RegDeleteValue Lib "advapi32.dll" Alias "RegDeleteValueA" (ByVal hKey As Long, ByVal lpValueName As String) As Long
Public Declare Function RegDeleteKey Lib "advapi32.dll" Alias "RegDeleteKeyA" (ByVal hKey As Long, ByVal lpSubKey As String) As LongPublic Const HKEY_LOCAL_MACHINE = &H80000002
Public Const HKEY_CURRENT_USER = &H80000001Public Const REG_SZ = 1 ' Unicode nul terminated string
Public Const REG_DWORD = 4 ' 32-bit number
Public Const REG_BINARY = 3 ' Free form binary'///////////////////////窗体代码////////////////////////
Option Explicit
Private Const RegKey = "NirvanaIII\test"
Dim subKey As String
Dim keyId As Long
Private Sub Command1_Click()'删除HKEY_CURRENT_USER\NirvanaIII\test\Window Width 键Call RegDeleteValue(keyId, "Window Width")
End Sub
Private Sub Form_Load()
Dim retValue As Long
Dim result As Long
Dim keyValue As LongDim a As StringDim bufSize As LongretValue = RegCreateKey(HKEY_CURRENT_USER, RegKey, keyId)
If retValue = 0 Then
'///////////////// 段2 //////////////////////////////
subKey = "WHeight"
retValue = RegQueryValueEx(keyId, subKey, 0, REG_SZ, ByVal a, bufSize)
If bufSize < 2 Then
keyValue = 88
retValue = RegSetValueEx(keyId, subKey, 0, REG_SZ, keyValue, Len(keyValue) + 1)
Else
retValue = RegQueryValueEx(keyId, subKey, 0, REG_SZ, keyValue, bufSize)
End If
'/////////////////////////////////////////////////////////////
'///////////////// 段1 //////////////////////////
subKey = "Window Width"
retValue = RegQueryValueEx(keyId, subKey, 0, REG_SZ, ByVal a, bufSize)
If bufSize < 2 Then
keyValue = 65
retValue = RegSetValueEx(keyId, subKey, 0, REG_SZ, keyValue, Len(keyValue) + 1)
Else
retValue = RegQueryValueEx(keyId, subKey, 0, REG_SZ, keyValue, bufSize)
End If
'////////////////////////////////////////////////////////
End IfEnd Sub
Public Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Public Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, ByVal lpData As String, ByVal cbData As Long) As Long ' Note that if you declare the lpData parameter as String, you must pass it By Value.Public Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As LongPublic Declare Function RegDeleteKey Lib "advapi32.dll" Alias "RegDeleteKeyA" (ByVal hKey As Long, ByVal lpSubKey As String) As Long
Public Declare Function RegDeleteValue Lib "advapi32.dll" Alias "RegDeleteValueA" (ByVal hKey As Long, ByVal lpValueName As String) As LongPublic Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Public Declare Function RegOpenKeyEx Lib "advapi32.dll" Alias "RegOpenKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal ulOptions As Long, ByVal samDesired As Long, phkResult As Long) As LongPublic Declare Function RegQueryValue Lib "advapi32.dll" Alias "RegQueryValueA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal lpValue As String, lpcbValue As Long) As Long
Public Declare Function RegQueryValueEx Lib "advapi32.dll" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, lpType As Long, ByVal lpData As String, lpcbData As Long) As Long ' Note that if you declare the lpData parameter as String, you must pass it By Value.Public Const HKEY_LOCAL_MACHINE = &H80000002
Public Const REG_SZ = 1
Public Const REG_DWORD = 4