如何解决RegWrite 不写入注册表
ValueType := A_Args[1]
KeyName := A_Args[2]
ValueName := A_Args[3]
ValueData := A_Args[4]
Loop,%0%
params .= A_Space %A_Index%
; https://autohotkey.com/docs/Run#RunAs
full_command_line := DllCall("GetCommandLine","str")
if !(A_IsAdmin or RegExMatch(full_command_line," /restart(?!\S)")) {
try {
if A_IsCompiled
Run *RunAs "%A_ScriptFullPath%" "%params%" /restart
else
Run *RunAs "%A_AhkPath%" /restart "%A_ScriptFullPath%" "%params%"
}
ExitApp
}
RegWrite,% ValueType,% KeyName,% ValueName,% ValueData
当我向脚本传递参数时,为什么 RegWrite 没有写入注册表?
解决方法
代码 87 表示无效参数。你要传递给RegWrite
什么?
这是我用于调试的一个函数。如果 isCondition
为 true,则显示自定义错误消息并停止所有操作。
fAbort(isCondition,sFuncName,sNote,dVars:="") {
If isCondition {
sAbortMessage := % sFuncName ": " sNote
. "`n`nA_LineNumber: """ A_LineNumber """`nErrorLevel: """ ErrorLevel """`nA_LastError: """ A_LastError """`n"
For sName,sValue in dVars
sAbortMessage .= "`n" sName ": """ sValue """"
MsgBox,16,% sAbortMessage
ExitApp
}
}
在 RegWrite
之后可以这样使用:
fAbort(ErrorLevel ; 1,if RegWrite unsuccessful.,"Script or function name here" ; Could use A_ThisFunc for current function name.,"Registry write unsuccessful." ; Your custom message here.,{ x: "blabla",y: 13 } ; Additional vars you want to see in the msgbox.
)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。