VB6中如何配置长期有效的用户环境变量设置方法?
- 内容介绍
- 文章标签
- 相关推荐
本文共计373个文字,预计阅读时间需要2分钟。
在VB6代码中,若要在非管理员权限下运行的应用程序中设置永久用户环境变量,可以使用以下方法:
vbPrivate Declare Function SetEnvironmentVariable Lib kernel32 Alias SetEnvironmentVariableA (ByVal lpName As String, ByVal lpValue As String, ByVal dwInfo As Long) As Long
Public Sub SetPermanentEnvironmentVariable(ByVal varName As String, ByVal varValue As String) ' 设置环境变量 SetEnvironmentVariable(varName, varValue, 0)
' 将环境变量写入注册表 Dim hKey As Long Dim strValue As String Dim strPath As String
' 打开注册表项 If RegOpenKeyEx(HKEY_CURRENT_USER, Environment, 0, KEY_ALL_ACCESS, hKey)=0 Then ' 构建注册表路径 strPath=Software\Microsoft\Windows NT\CurrentVersion\Windows
' 将环境变量值写入注册表 strValue=varName & = & varValue If RegSetValueEx(hKey, strPath, 0, REG_SZ, StrPtr(strValue), Len(strValue))=0 Then MsgBox 环境变量设置成功! Else MsgBox 设置环境变量失败! End If
' 关闭注册表项 RegCloseKey hKey Else MsgBox 无法打开注册表项! End IfEnd Sub
通过上述代码,你可以将环境变量永久写入注册表,从而在非管理员权限下运行的应用程序中也能使用这些变量。
如何在VB6代码中为将在非管理员权限下运行的应用程序设置永久用户环境变量?我知道SetEnvironmentValue,但显然这只会改变当前进程的vars,这对我的需求来说是不够的.
由于环境变量可能存储在HKLM注册表中,我担心运行我的应用程序的非管理员用户将无法设置env var.
对于当前用户,环境变量存储在/ HKEY_CURRENT_USER / Environment下,不应要求提升权限.本文共计373个文字,预计阅读时间需要2分钟。
在VB6代码中,若要在非管理员权限下运行的应用程序中设置永久用户环境变量,可以使用以下方法:
vbPrivate Declare Function SetEnvironmentVariable Lib kernel32 Alias SetEnvironmentVariableA (ByVal lpName As String, ByVal lpValue As String, ByVal dwInfo As Long) As Long
Public Sub SetPermanentEnvironmentVariable(ByVal varName As String, ByVal varValue As String) ' 设置环境变量 SetEnvironmentVariable(varName, varValue, 0)
' 将环境变量写入注册表 Dim hKey As Long Dim strValue As String Dim strPath As String
' 打开注册表项 If RegOpenKeyEx(HKEY_CURRENT_USER, Environment, 0, KEY_ALL_ACCESS, hKey)=0 Then ' 构建注册表路径 strPath=Software\Microsoft\Windows NT\CurrentVersion\Windows
' 将环境变量值写入注册表 strValue=varName & = & varValue If RegSetValueEx(hKey, strPath, 0, REG_SZ, StrPtr(strValue), Len(strValue))=0 Then MsgBox 环境变量设置成功! Else MsgBox 设置环境变量失败! End If
' 关闭注册表项 RegCloseKey hKey Else MsgBox 无法打开注册表项! End IfEnd Sub
通过上述代码,你可以将环境变量永久写入注册表,从而在非管理员权限下运行的应用程序中也能使用这些变量。
如何在VB6代码中为将在非管理员权限下运行的应用程序设置永久用户环境变量?我知道SetEnvironmentValue,但显然这只会改变当前进程的vars,这对我的需求来说是不够的.
由于环境变量可能存储在HKLM注册表中,我担心运行我的应用程序的非管理员用户将无法设置env var.
对于当前用户,环境变量存储在/ HKEY_CURRENT_USER / Environment下,不应要求提升权限.
