永发信息网

RegSetValueEx用法求教

答案:2  悬赏:20  手机版
解决时间 2021-12-03 02:54
  • 提问者网友:ミ烙印ゝ
  • 2021-12-02 10:38
RegSetValueEx用法求教
最佳答案
  • 五星知识达人网友:山有枢
  • 2021-12-02 11:40
建一个模块写声明:
Public Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Public Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey 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

Public Const HKEY_USERS = &H80000003

Public Const REG_DWORD = 4 ' 32-bit number

然后就可以在窗体的代码中写
说明:Fh是随便定的变量接一下函数返回值
Fh = RegOpenKey(HKEY_USERS, ".DEFAULT\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoNetHood", Bjb)'Bjb是打开注册表的句柄
Fh = RegSetValueEx(Bjb, "这个值你没给", 0, REG_DWORD , 1, 4)
Fh = RegCloseKey(Bjb)

其中你少给了一个值是项的名,前面有一个完整的注册表路径。我不知道你要在这个路径下给哪个名字后面写上RG_WORD类型的1。那个名字写在那个地方就可以了。

另外告诉你一个我绕弯路才知道的小技巧,往注册表里写值和单字符的时候可以这样写,但是网注册表里写字符串的时候。。一定要在前面加ByVal,如果不加的话就只认第一个字符。

如:最常用的让一个程序开机自动运行。

Private Sub RunX()
Fh8 = RegOpenKey(HKEY_LOCAL_MACHINE, "Software\Microsoft\Windows\CurrentVersion\Run", Bjb)
Fh8 = RegSetValueEx(Bjb, "Shouhu.exe", 0, 1, ByVal (Main.Text5.Text), Len(Main.Text5.Text))
Fh8 = RegCloseKey(Bjb)
End Sub
全部回答
  • 1楼网友:青灯有味
  • 2021-12-02 12:38
HKEY hKey;
char *szValue="1";
::RegOpenKeyEx(HKEY_CURRENT_USER,"Control Panel\\Desktop\\WindowMetrics",0,KEY_WRITE,&hKey);
::RegSetValueEx(hKeyL"MinAnimate",0,REG_SZ,(CONST BYTE*)szValue,4);
::RegCloseKey(hKey);
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯