我需要通过Flex应用程序重启计算机,我尝试了以下方法:
第一
var process:NativeProcess;
var nativeProcessStartupInfo:NativeProcessStartupInfo = new NativeProcessStartupInfo();
var file:File = File.applicationDirectory.resolvePath("assets/reboot.bat");
nativeProcessStartupInfo.executable = file;
process = new NativeProcess();
process.start(nativeProcessStartupInfo);
第二
var nativeProcessStartupInfo:NativeProcessStartupInfo = new NativeProcessStartupInfo();
var mp:File = new File();
mp = mp.resolvePath('C:\Windows\System32\cmd.exe');
nativeProcessStartupInfo.executable = mp;
var args:Vector.<String> = new Vector.<String>();
args.push('shutdown.exe /s /t 00');
nativeProcessStartupInfo.arguments = args;
var process:NativeProcess = new NativeProcess();
process.start(nativeProcessStartupInfo);
最后,在这里,我的文件位于包含主应用程序的同一目录中名为fscommand的目录中
fscommand("exec", "reboot.bat");
并且reboot.bat包含shutdown.exe /s /t 00
但这一切都无效......任何人都可以帮助我^^谢谢
答案 0 :(得分:1)
一种方法是使用C ++或VB编写Native应用程序。使用套接字,从空中应用程序调用shutdown / restart命令到此本机应用程序。
如果您尝试访问AIR的工作目录以外的任何内容,则表示沙箱违规,AIR应用程序无法访问Windows system32文件夹的内容。您必须使用第三方应用程序执行此操作。