Blog
AIR windows shortcut generator
8 years, 4 months ago Posted in: Blog Comments Off

Esta utilidad permite guardar un enlace a nuestro fichero de aplicación.

Actionscript:
  1. package com.mattimatti.air.shortcut
  2. {
  3.     import flash.desktop.NativeApplication;
  4.     import flash.filesystem.File;
  5.     import flash.filesystem.FileMode;
  6.     import flash.filesystem.FileStream;
  7.    
  8.    
  9.    
  10.     /**
  11.      * Utility class for shortcut icon generation
  12.      * @author mmonti
  13.      *
  14.      */ 
  15.     public class ShortCutGenerator
  16.     {
  17.        
  18.        
  19.         /**
  20.          * create a shortcut of type .url at given location
  21.                  *
  22.          * @param inFile la carpeta donde quieres guardar el enlace. por defecto el escritorio.
  23.          *
  24.          */  
  25.         public static function create(inFile:File = null) :void{
  26.            
  27.             if(inFile == null)inFile = File.desktopDirectory;
  28.            
  29.             var appPath:String = getApplicationExeFilePath();
  30.             if(appPath=="")return;
  31.             var appName:String = getApplicationFileName();
  32.             var NEWLINE:String = "\n";
  33.            
  34.             var oustr:String = "";
  35.                 oustr+="[InternetShortcut]"+NEWLINE;
  36.                 oustr+="URL=" + appPath + NEWLINE;
  37.                 oustr+="IconIndex=0"+NEWLINE;
  38.                 oustr+="IconFile=" + appPath;
  39.                
  40.                
  41.             var theFile:File = inFile.resolvePath(appName+".url");
  42.            
  43.             var fileStream:FileStream = new FileStream();
  44.                 fileStream.open(theFile,FileMode.WRITE);
  45.                 fileStream.writeUTFBytes(oustr);
  46.                 fileStream.close()
  47.            
  48.         }
  49.        
  50.  
  51.  
  52.        
  53.    
  54.     private static function getApplicationFileName() : String {
  55.              var retStr:String = "";
  56.              var descriptor : XML = NativeApplication.nativeApplication.applicationDescriptor;
  57.              var ns : Namespace = descriptor.namespace();
  58.              return String(descriptor.ns::filename);
  59.          }
  60.  
  61.                
  62.            
  63.         private static  function getApplicationExeFilePath():String{
  64.             var conts:Array = File.applicationDirectory.getDirectoryListing();
  65.             var retPath:String = "";
  66.             for each (var file:File in conts){
  67.                 if(file.name.lastIndexOf(".exe") == file.name.length-4 ){
  68.                     retPath = file.nativePath;
  69.                 }
  70.             }
  71.  
  72.             return retPath;
  73.         }
  74.  
  75.     }
  76. }

Comments are closed.

Image compression on this page is provided by WordPress Image Compressor