永发信息网

如何使用VB.net检测某个注册表键值是否存在

答案:3  悬赏:60  手机版
解决时间 2021-01-03 10:46
  • 提问者网友:niaiwoma
  • 2021-01-02 10:32
想用VB.net检测启动项中的键值是否存在,比如Software\microsoft\windows\CurrentVersion\run中的键值存在就什么也不提示 不存在就创建一个值就代码 谢谢大侠了
最佳答案
  • 五星知识达人网友:你哪知我潦倒为你
  • 2021-01-02 11:24
Private Declare Function RegQueryValueEx Lib "advapi32.dll" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, ByRef lpType As Long, ByRef lpData As Any, ByRef lpcbData As Long) As Long
Private Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, ByRef phkResult As Long) As Long
Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long
Private Const HKEY_LOCAL_MACHINE As Long = &H80000002
Private Sub Command1_Click()
'获取注册表启动项
Dim hKey As Long, ret As Long, Name As String
Name = String(256, Chr(0))
ret = RegOpenKey(HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft\Windows\CurrentVersion\Run", hKey) '路径
ret = RegQueryValueEx(hKey, "MyApp", 0, 1, ByVal Name, Len(Name)) '项的名称
RegCloseKey hKey
' 修改注册表
If ret <> 0 Then
Set w = CreateObject("wscript.shell")
w.regwrite "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\MyApp", App.Path & "\" & App.EXEName & ".exe"

End If

End Sub
全部回答
  • 1楼网友:妄饮晩冬酒
  • 2021-01-02 12:47
VB如何检测注册表键值是否存在 _百度知道 1个回答-提问时间:2008年08月27日 '以下是代码举例,这个方法能在VBS中可以 使用 。 Dim LinkName As String LinkName = CreateObject("Wscript....
  • 2楼网友:醉吻情书
  • 2021-01-02 11:41
'以下是代码举例,这个方法能在vbs中可以使用。 dim linkname as string linkname = createobject("wscript.shell").regread("hklm\software\microsoft\ras autodial\default\defaultinternet") if linkname="" then msgbox "注册表defaultinternet键值不存在!" else msgbox "注册表defaultinternet键值存在!" endif
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯