Je voudrais savoir s'il est possible d'obtenir des instantanés en plein écran à partir d'une application aérienne. Ce qui m'intéresse, c'est une fonctionnalité similaire au bouton PrintScreen dans Windows, qui prend des instantanés de tous les écrans, y compris les fenêtres d'applications tierces, et pas seulement la fenêtre dans laquelle l'application air est en cours d'exécution. Si ce n'est pas spécifique à l'air, et API flash/flex peut fournir une telle fonctionnalité, ce serait aussi génial. Merci beaucoup d'avance.L'application Adobe AIR Desktop peut-elle prendre des instantanés en plein écran (bouton Imprimer l'écran)
2
A
Répondre
4
Découvrez this article comme il explique l'obtention d'une capture d'écran en appelant un processus natif:
import flash.filesystem.File;
import flash.events.NativeProcessExitEvent;
var process:NativeProcess;
if(NativeProcess.isSupported) {
var file:File = File.applicationDirectory;
var args:Vector.<String> = new Vector.<String>();
if (Capabilities.os.toLowerCase().indexOf("win") > -1) {
file = file.resolvePath("PATH/TO/WINDOWS/printscr");
//use your prefered screenshot tool here (e.g. https://code.google.com/p/screenshot-cmd/
//also setup the args as needed
} else if (Capabilities.os.toLowerCase().indexOf("mac") > -1) {
file = file.resolvePath("/usr/sbin/screencapture");
args[0] = "-i";
args[1] = "screencapture.png";
}
var nativeProcessStartupInfo:NativeProcessStartupInfo = new NativeProcessStartupInfo();
nativeProcessStartupInfo.arguments = args;
nativeProcessStartupInfo.executable = file;
nativeProcessStartupInfo.workingDirectory = File.desktopDirectory;
process = new NativeProcess();
process.start(nativeProcessStartupInfo);
process.addEventListener(NativeProcessExitEvent.EXIT,done);
}else trace("NativeProcess NOT SUPPORTED!");
function done(e:NativeProcessExitEvent):void{
trace("screenshot comprete");
}
Une chose importante à garder à l'esprit est le AIR device profile. Si vous testez initialement dans ADL, veillez à utiliser le profil extendedDesktop
, sinon NativeProcess.isSupported
renverra false
.
Pour plus de détails consulter la NativeProcess documentation et la Communicating with native processes in AIR developer guide
Le lien est rompu; il redirige juste vers la page d'accueil de ce site. – Brian
J'ai mis à jour le lien en utilisant [wayback machine] (http://archive.org/web/) et fourni plus de détails –