当我在浏览器中运行某个Flash应用程序时,我被要求找出一种关闭主机上正在运行的应用程序的方法,这看似很困难,但我想到了一些可能的方法来实现这一点,我想问哪种方法最好。
我认为这些是我的可能性
我需要这样做的原因是因为闪存应用程序需要访问主机的网络摄像头,它兼作运动检测摄像头,这意味着在运动检测软件运行时摄像头将被锁定。因此,我需要关闭运动检测软件,在闪存中抓取图片,保存图片并再次启动运动检测。
我错过了一些超级简单的方法吗?你会怎么做到这一点?提前感谢您的回答。
答案 0 :(得分:0)
答案 1 :(得分:0)
TBH我认为你不会在这方面取得成功,除非你把它创建为Air应用程序(被授予,我没有花太多脑力来思考解决方案)。 Flash播放器对你能做什么和不能做什么都有很大的限制。 ExternalInterface
取代了FSWmand,它被认为是过时的,BTW。它允许您从AS与swf容器进行通信。虽然JS(也许是VBScript?)。
但是,如果事实证明您需要创建Air应用程序,则可以使用NativeProcess
来允许您在主机上运行应用程序。例如,如果你想运行java .jar,你可以这样做:
var javaExecutable : File = new File();
javaExecutable.nativePath = '/path/to/java/';
var processArguments : Vector.<String> = Vector.<String>([
'-jar',
'/path/to/jar/',
'foo'
]);
var process : NativeProcessStartupInfo = new NativeProcessStartupInfo();
process.executable = javaExecutable;
process.arguments = processArguments;
var shell : NativeProcess = new NativeProcess();
shell.addEventListener(NativeProcessExitEvent.EXIT, onExitEvent);
shell.addEventListener(ProgressEvent.STANDARD_OUTPUT_DATA, onStdOutputDataEvent);
shell.start(process);
非常重要的是要注意:(强调我的)
NativeProcess类及其功能仅适用于使用本机安装程序安装的AIR应用程序(扩展桌面配置文件应用程序)。