J'ai besoin de faire quelque chose de très simple avec NativeProcess, j'ai besoin de lancer un fichier .exe via la ligne cmd et lui passer un paramètre. J'ai trouvé des exemples NativeProcess mais ils sont tous pour des choses beaucoup plus complexes et ne montrent pas une implémentation complète. J'ai beaucoup d'expérience avec flash as3 mais pas dans ce domaine particulier ... si quelqu'un pouvait me montrer comment cela se fait du début à la fin, j'apprécierais énormément.Comment implémenter l'application NativeProcess dans Air
0
A
Répondre
2
Voici le code à partir du site d'Adobe pour faire exactement ce que vous demandez:
package
{
public class Main extends Sprite
{
public var process:NativeProcess;
public function Main()
{
if(NativeProcess.isSupported)
setupAndLaunch();
else
trace("NativeProcess not supported.");
}
public function setupAndLaunch():void
{
var nativeProcessStartupInfo:NativeProcessStartupInfo = new NativeProcessStartupInfo();
var file:File = File.applicationDirectory.resolvePath("yourapp.exe");
nativeProcessStartupInfo.executable = file;
var processArgs:Vector.<String> = new Vector.<String>();
processArgs[0] = "the parameter you are passing";
nativeProcessStartupInfo.arguments = processArgs;
process = new NativeProcess();
process.start(nativeProcessStartupInfo);
process.addEventListener(ProgressEvent.STANDARD_OUTPUT_DATA, onOutputData);
process.addEventListener(ProgressEvent.STANDARD_ERROR_DATA, onErrorData);
process.addEventListener(NativeProcessExitEvent.EXIT, onExit);
process.addEventListener(IOErrorEvent.STANDARD_OUTPUT_IO_ERROR, onIOError);
process.addEventListener(IOErrorEvent.STANDARD_ERROR_IO_ERROR, onIOError);
}
public function onOutputData(event:ProgressEvent):void
{
trace("Got: ", process.standardOutput.readUTFBytes(process.standardOutput.bytesAvailable));
}
public function onErrorData(event:ProgressEvent):void
{
trace("ERROR -", process.standardError.readUTFBytes(process.standardError.bytesAvailable));
}
public function onExit(event:NativeProcessExitEvent):void
{
trace("Process exited with ", event.exitCode);
}
public function onIOError(event:IOErrorEvent):void
{
trace(event.toString());
}
}
}
et informations importantes The NativeProcess class and its capabilities are only available to AIR applications installed with a native installer (extended desktop profile applications). When debugging, you can pass the -profile extendedDesktop argument to ADL to enable the NativeProcess functionality. At runtime, you can check the NativeProcess.isSupported property to to determine whether native process communication is supported.
Je l'ai testé ci-dessus en Flash Développer en définissant le profil d'application à Extended Desktop
et il fonctionne .
Plus d'infos here.
Questions connexes
- 1. AIR NativeProcess API
- 2. Air NativeProcess java
- 3. Erreur # 3219 NativeProcess dans AIR
- 4. Flex - Air "nativeprocess non pris en charge"
- 5. AIR - NativeProcess avec Sytem Profiler sur Mac
- 6. Flash Builder, Air - API error NativeProcess
- 7. Comment créer un fichier .air via Adt.jar à l'aide de NativeProcess dans Adobe AIR?
- 8. Problème avec NativeProcess
- 9. Puis-je conserver AIR NativeProcess en cours d'exécution après l'existence de l'application AIR?
- 10. Comment obtenir le nom d'hôte sous Linux dans Adobe AIR NativeProcess
- 11. Bogue NativeProcess
- 12. RIA2 NativeProcess pour le débogage Java
- 13. Déboguer une application Adobe AIR qui utilise l'API NativeProcess pour appeler un exécutable
- 14. API Adobe Air2 NativeProcess avec Javascript
- 15. Flex3/Air 2: NativeProcess n'accepte pas les données d'entrée standard (erreur # 2044 & # 3218)
- 16. Comment appeler l'API AIR en Java?
- 17. Lancement de fichiers .bat sous Windows avec Adobe AIR NativeProcess, non pris en charge?
- 18. Adobe AIR - scanner de contrôle
- 19. Débogage Java de NativeProcess API?
- 20. NativeProcess ne peut pas exécuter l'application C# WPF sous Windows
- 21. L'utilisation de '[' crochet comme une fonction pour lapplication dans R
- 22. l'argument de nativeprocess a échoué
- 23. Communication de NativeProcess donnant l'erreur
- 24. Comment créer plusieurs sous-ensembles au sein de lapplication
- 25. Comment ouvrir un dossier à partir d'une application Air 2.0?
- 26. Android MediaStore de Air App
- 27. Comment faire pour passer "" symbole à l'argument NativeProcess?
- 28. Application Bundle Flex AIR avec ffmpeg
- 29. Utilisation de lapplication avec des arguments de modification
- 30. comment implémenter dans JNI
http://gotoandlearn.com/play.php?id=125 - c'est un bon point de départ. – Tox