我正在尝试使用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);
请问,如何执行我的脚本?
谢谢
答案 0 :(得分:0)
我如何解决案件:
对我来说,正确的是:
ShellExecuteW(NULL, NULL, "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, SW_HIDE);
答案 1 :(得分:-1)
似乎无法使用ShellExecute
。我已经尝试了很长时间,并查阅了很多信息。看来我最后只能运行Python
脚本,但不能运行带有参数的Python
脚本。真可惜。
我没有在注释中尝试该方法,但是我发现了另一种可能可行的方法。
链接:Run a python script with arguments
请注意,Python
的版本号现在为Python 3
,因此请更改参考库并传递参数(某些参数需要宽字节)