Call a Windows Forms .NET EXE from PHP


Call a Windows Forms .NET EXE from PHP

我在stackoverflow上看到过很多帖子,但都没有帮助。

我正在尝试运行一个.NET Windows窗体应用程序(它不包含任何forms/GUI/dialogs/so,但由于应用程序的性质,它必须是Windows窗体)。我尝试了shell_exec()exec()passthru()等,但都失败了(它们需要无限长的时间,PHP脚本永远不会终止)

然后,我尝试运行一个简单的C++(非托管)控制台应用程序——它工作了,并返回了正确的输出和返回代码。

然后,我想,也许我可以调用这个C++EXE,让它进一步调用Windows应用程序(即在C++中使用SYSTEM("path_to_exe.exe");)当我编译它时,它运行得很好,但

当PHP调用这个控制台(使用新代码来运行.NET EXE)时,PHP再次占用了大量时间,而且从未停止。为什么?

有没有一种方法可以让我从PHP成功地在服务器上运行.NET EXE

非常感谢!

"有没有一种方法可以让我从PHP在服务器上成功运行.NET EXE?":你的EXE已经在运行了!

所以问题出在你的.NET EXE中,我不知道它是什么类型的EXE,但你可以使用AutoIt脚本来执行它,然后在X秒后关闭进程,这里有一段代码(不要忘记编译它):

Run("C:'Program Files (x86)'K-Lite Codec Pack'Media Player Classic'mpc-hc.exe"); // You may use a relative path !
Sleep(5000); // Wait for 5 seconds
ProcessClose("mpc-hc.exe"); // Close the process