我正在尝试使用PHP在Windows 7中打开视频播放器,但似乎无法实现。它的唯一工作方式是在后台 - 我可以听到声音,它在进程列表中,但我看不到视频播放器本身。它没有列在任务栏或通知区域中。
我尝试过使用exec命令和使用WScript.Shell的COM类。我甚至尝试在命令行前启动,但仍然没有。如果我在cmd.exe中使用相同的行,它可以工作,播放器弹出并开始播放但是使用php,它会在后台启动或者根本不启动。
我使用的代码如下:
exec('start "C:\Program Files\Daum\PotPlayer\PotPlayer.exe" "D:\mov.avi"');
和
`$ w = new COM(“WScript.Shell”); $ o = $ w->运行('“C:\ Program Files \ Daum \ PotPlayer \ PotPlayer.exe”“D:\ mov.avi”',1,false);
- 编辑 -
这种情况一直发生在我身上 - 就在你长时间搜索并失去所有希望之后,你发布了你的问题。在接下来的10分钟内,您可以躺下来浏览并找到问题的答案。
无论如何,我得到了这个工作。运行 - > services.msc
找到apache服务器服务并选择属性。登录选项卡并选中“允许服务与桌面交互”。重启apache,最后一个脚本有效。 Windows将询问您是否要查看该消息,只需单击“是”即可开始播放视频。在您单击返回桌面之前,请务必关闭视频播放器窗口,否则它将继续播放,您必须从任务管理器停止它。
`
答案 0 :(得分:0)
您不应该依赖“允许服务与桌面交互”,因为它可能会导致问题。 (事实上,它不应该在Windows 7中删除吗?)
这不适合你的原因是因为Session-0隔离。基本上,服务作为用户在完全不同的空间中运行。进程可以执行,但用户将无法直接进行交互。如果您选中“允许服务进行交互”框,则会破坏该墙,但我不会永久保留它。
答案 1 :(得分:0)
如果您通过System启动Web服务器。 PHP进程和子进程由" system"运行。并且进程在后台。尝试手动启动Web服务器。