Option ExplicitPrivate 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 HKEY_LOCAL_MACHINE = &H80000002
Private Const REG_SZ = 1
-----------------------------------
Sub SetMyValue(hKey As Long, strPath As String, strValue As String, strData As String)
Dim keyHandle
Dim lResult As Long
lResult = RegCreateKey(hKey, strPath, keyHandle)
lResult = RegSetValueEx(keyHandle, strValue, 0, REG_SZ, ByVal strData, Len(strData))
lResult = RegCloseKey(keyHandle)
End Sub
------------------------------------------
Private Sub Command1_Click()
Dim aa As String
Dim bb As String
aa = "REGtest"
bb =App.path'这一步是获取程序所在路径名
if right(bb,1)<>"\" then bb=bb & "\"'这是判断路径名末尾是否为“\”,不是就加上“\”
bb=bb & App.EXEName & ".exe"'这是将路径名和程序名以及后缀名添加在一起,不过App.EXEName只有在编译之后才能有返回值SetMyValue HKEY_LOCAL_MACHINE, "SoftWare\Microsoft\Windows\CurrentVersion\Run", aa, bb
End Sub
------------------------------为什么我最后编译以后查看注册表REGtest后的数值不完整?路径是对的。只是比如我编译后的程序名是test.exe而在注册表里数值显示的是test.e
我试验了一下在一般目录下没有问题。只是在带有中文字符的目录下会出现扩展名或者整个路径不全的问题。
比如 D:\试验\test.e 或者是 D:\试验品\t 或面的est.exe都没有 请问是何道理
问了一个行家说是上面“Len(strData)”的问题。但是我不懂应该怎么改。。知道的教一下。谢谢!!
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 HKEY_LOCAL_MACHINE = &H80000002
Private Const REG_SZ = 1
-----------------------------------
Sub SetMyValue(hKey As Long, strPath As String, strValue As String, strData As String)
Dim keyHandle
Dim lResult As Long
lResult = RegCreateKey(hKey, strPath, keyHandle)
lResult = RegSetValueEx(keyHandle, strValue, 0, REG_SZ, ByVal strData, Len(strData))
lResult = RegCloseKey(keyHandle)
End Sub
------------------------------------------
Private Sub Command1_Click()
Dim aa As String
Dim bb As String
aa = "REGtest"
bb =App.path'这一步是获取程序所在路径名
if right(bb,1)<>"\" then bb=bb & "\"'这是判断路径名末尾是否为“\”,不是就加上“\”
bb=bb & App.EXEName & ".exe"'这是将路径名和程序名以及后缀名添加在一起,不过App.EXEName只有在编译之后才能有返回值SetMyValue HKEY_LOCAL_MACHINE, "SoftWare\Microsoft\Windows\CurrentVersion\Run", aa, bb
End Sub
------------------------------为什么我最后编译以后查看注册表REGtest后的数值不完整?路径是对的。只是比如我编译后的程序名是test.exe而在注册表里数值显示的是test.e
我试验了一下在一般目录下没有问题。只是在带有中文字符的目录下会出现扩展名或者整个路径不全的问题。
比如 D:\试验\test.e 或者是 D:\试验品\t 或面的est.exe都没有 请问是何道理
问了一个行家说是上面“Len(strData)”的问题。但是我不懂应该怎么改。。知道的教一下。谢谢!!
解决方案 »
- vb6在win7下的文件操作问题
- 数学函数问题
- 是否可以把dbf文件读入一个msflexgrid,然后把内容以表格形式打印出来
- 请问,我如何能把我的VB程序与一个动画结合起来,效果有点像OFFICE里的小助手那样?
- 谁给我解释一下option explicit关键字是起什么作用的?
- 求解:关于kernel32 ---在线等解.
- 西门子PLC与电脑连接实现通讯需要什么软件呀?
- 怎样在QueryUnload之前接收到窗体关闭信息,我主要是想在按下关闭按钮后第一时间接收到该消息.
- 请搞数据库的高手们进来推荐几本数据库方面的书
- 这周五我过生日,我在北京,有愿意来我这儿的我请客吃饭.
- 网络编程问题???
- 用vb查找dll控件的guid值
正解!
==================================================
lResult = RegSetValueEx(keyHandle, strValue, 0, REG_SZ, ByVal strData, LenB(strData)) 这两个有什么差别马?