【发布时间】:2019-11-27 21:07:06
【问题描述】:
我正在尝试使用 WinAPI 函数 ShellExecuteW 运行带有参数的 python 脚本。
看起来像一个
python .\PythonDLL_Example.py 125960 126110 126070 126250 3928 274353.845945816 119761.8349277858 18080.59072693367 -252416.3714632094 -79682.09253258759 -12446.11663140202
我尝试使用完整路径这样做,以防万一:
ShellExecuteW(NULL, NULL, "C:\\Users\\Amber\\AppData\\Local\\Programs\\Python\\Python37\\python.exe", "C:\\Users\\Amber\\AppData\\Roaming\\MetaQuotes\\Terminal\\DEA332DEFF5165CB2EAFB6F9BD062C50\\MQL5\\Experts\\Advisors\\PythonDLL_Example.py 125960 126110 126070 126250 3928 274353.845945816 119761.8349277858 18080.59072693367 -252416.3714632094 -79682.09253258759 -12446.11663140202", NULL, 10);
没有结果 错误 %d42
如下测试执行成功:
ShellExecuteW(NULL, "open", "C:\\Windows\\Notepad.exe", NULL, NULL, 10);
请你执行我的脚本?
谢谢
【问题讨论】:
-
你为什么要使用
ShellExecute()。由于您尝试直接调用python.exe,因此您应该改用CreateProcess() -
雷米是正确的。为此使用 CreateProcess。即使这样,您也需要提供工作目录,就像调用 ShellExecute 时需要提供的一样,尽管您的代码不需要。
标签: winapi