Blog
AIR windows shortcut generator
3 years, 2 months ago Posted in: Blog Comments Off

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

[as]
package com.mattimatti.air.shortcut
{
import flash.desktop.NativeApplication;
import flash.filesystem.File;
import flash.filesystem.FileMode;
import flash.filesystem.FileStream;

/**
* Utility class for shortcut icon generation
* @author mmonti
*
*/
public class ShortCutGenerator
{

/**
* create a shortcut of type .url at given location
*
* @param inFile la carpeta donde quieres guardar el enlace. por defecto el escritorio.
*
*/
public static function create(inFile:File = null) :void{

if(inFile == null)inFile = File.desktopDirectory;

var appPath:String = getApplicationExeFilePath();
if(appPath==”")return;
var appName:String = getApplicationFileName();
var NEWLINE:String = “\n”;

var oustr:String = “”;
oustr+=”[InternetShortcut]“+NEWLINE;
oustr+=”URL=” + appPath + NEWLINE;
oustr+=”IconIndex=0″+NEWLINE;
oustr+=”IconFile=” + appPath;

var theFile:File = inFile.resolvePath(appName+”.url”);

var fileStream:FileStream = new FileStream();
fileStream.open(theFile,FileMode.WRITE);
fileStream.writeUTFBytes(oustr);
fileStream.close();

}

private static function getApplicationFileName() : String {
var retStr:String = “”;
var descriptor : XML = NativeApplication.nativeApplication.applicationDescriptor;
var ns : Namespace = descriptor.namespace();
return String(descriptor.ns::filename);
}

private static function getApplicationExeFilePath():String{
var conts:Array = File.applicationDirectory.getDirectoryListing();
var retPath:String = “”;
for each (var file:File in conts){
if(file.name.lastIndexOf(“.exe”) == file.name.length-4 ){
retPath = file.nativePath;
}
}

return retPath;
}

}
}

[/as]

Comments are closed.