2
我开发,使用的子进程的Process
API,与UseShellExecute
设置为false
派生的应用程序。这个问题是我不想去寻找我产生的进程,因为它们在我的系统PATH中可用。例如,我想通过输入SCRIPT_NAME.py ARGUMENTS
来运行Python脚本。但是,当我设置Process.FileName
是SCRIPT_NAME.py
,我得到一个错误,告诉我它找不到SCRIPT_NAME.py
。我想工作目录是哪里SCRIPT_NAME.py
是,否则我将不得不指定SCRIPT_NAME.py
和它的参数,这是荒谬的和过度的绝对路径。如何在Process.UseShellExecute = false的情况下使用系统PATH?
我可以用cmd.exe /C SCRIPT_NAME.py ARGUMENTS
避免这一点,但有问题用武力制止正在推我在这个方向上,而不是命令提示符。
'UseShellExecute = FALSE'基本上转化为一个完整的(相对或绝对)路径的要求。 –
Windows *总是*搜索PATH环境变量中列出的目录。无论使用UseShellExecute。不向我们展示你的PATH看起来像什么使它很难帮助你。 –