根据http://msdn.microsoft.com/zh-cn/library/aa376977(v=vs.85).aspx:
“ Run和RunOnce注册表项会导致程序在用户每次登录时运行。项的数据值为命令行。”
然后,我是否应该可以使用以下方法添加密钥:
START /MIN "Title" "cmd.exe" /c "@echo off && "C:\TestApplication.exe" -Arg1 "Arg2"
目的是在Windows启动时以"C:\TestApplication.exe"
最少的参数启动控制台应用程序"-Arg1 "Arg2""
?
我问,因为我似乎无法使它正常工作。
该文档具有误导性,尽管并非完全不正确。命令行直接传递给CreateProcess(),而不是传递给,cmd.exe
所以内部的命令cmd.exe
(例如)start
无效。这意味着您需要cmd /c
在命令行开始处添加。
您还会在末尾缺少引号,并且不需要在两端加上引号cmd.exe
。这有效:
cmd /c START /MIN "Title" cmd /c "@echo off && "C:\TestApp.exe" -Arg1 "Arg2""
但是,由于目标应用程序是可执行文件,而不是批处理文件,因此您也不需要以下@echo
命令:
cmd /c START /MIN "Title" cmd /c ""C:\TestApp.exe" -Arg1 "Arg2""
(请注意,/c
永远不会回显传递给的命令行。)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句