这适用(Notepad ++):
C:\Anywhere> start notepad++ hello.txt
这有效(SoX用于消除声音中的沉默):
C:\Anywhere> sox in.wav out1.wav silence 1 0.1 1%
然而,我的 PATH 变量既不包含(会根据要求发送)。
我如何使用我的程序执行此操作?
从各地跑步。
另外,为什么Notepad ++在没有start
命令的情况下不起作用?
(我通过将.exe放在C:\中然后简单地调用C:\Anywhere> /myprogram
来解决这个问题,但我仍然对上述情况感到好奇。)
答案 0 :(得分:4)
获取指示的场景
start
命令(或Windows Run
对话框)从任何地方启动应用程序,而不在path
变量中包含其父文件夹,start
命令,你就无法启动应用程序而不包括到达它的完整路径(它不在path
中)或位于相应的目录中应用程序包含在密钥
下的注册表中HKEY_CLASSES_ROOT\Applications
注意:显示
的组合内容的"merged" viewHKEY_LOCAL_MACHINE\Software\Classes\Applications
HKEY_CURRENT_USER\Software\Classes\Applications
如果您不是管理员来更改本地计算机配置,则可以随时修改用户注册表信息以包含所需的应用程序。
已编辑注册表中有第二个位置允许在注册表中包含要使用start
命令,Run
对话框或使用的任何内容执行的应用程序ShellExecute
或ShellExecuteEx
API调用。
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\