您可以使用.ShellExecute
来使用reg.exe编辑注册表。
ShellExecute指南
语法:
CreateObject("Shell.Application").ShellExecute "application", "parameters", "dir", "verb", window
CreateObject("Shell.Application").ShellExecute 'some program.exe', '"some parameters with spaces"', , "runas", 1
关键字:
关键词 |
操作 |
应用程序 |
要执行的文件(必需) |
参数 |
可执行文件的参数 |
目录 |
工作目录 |
动作 |
要执行的操作(runas/open/edit/print) |
窗口 |
(1=正常,0=隐藏,2=最小化,3=最大化,4=还原,5=当前,7=最小化/非活动,10=默认)查看应用程序窗口的视图模式 |
示例:
CreateObject("Shell.Application").ShellExecute "reg.exe", "add " & """HKCU\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers""" & " /v " & """" & Command & """" & " /t REG_SZ /d " & """~ DISABLEDXMAXIMIZEDWINDOWEDMODE RUNASADMIN HIGHDPIAWARE""" & " /f ", , , 0
命令是一个带有反斜杠的路径到.exe
(例如D:\带反斜杠的路径\一些程序.exe
),作为命令行参数传递给您的应用程序(例如start "" "C:\Path\your application.exe" "D:\带反斜杠的路径\一些程序.exe"
)。
我使用了MsgBox
来确保它是正确的:
MsgBox "add " & """HKCU\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers""" & " /v " & """" & Command & """" & " /t REG_SZ /d " & """~ DISABLEDXMAXIMIZEDWINDOWEDMODE RUNASADMIN HIGHDPIAWARE""" & " /f "
您也可以使用 CreateObject("WScript.Shell").Run
作为替代方案来运行 reg.exe
并编辑注册表。
示例:
CreateObject("WScript.Shell").Run "reg.exe" & " delete " & """HKCU\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers""" & " /v " & """" & Command & """" & " /f ", 0