在Adobe AIR中的小部件,在系统托盘中启动

时间:2011-09-16 12:02:47

标签: adobe air

提前感谢。

我需要开发一个简单的小部件。

交通灯绿色和红色图标,用于检查某些服务。

我制作了所有图形和图标16 * 16,以便在winXp的系统中创建一个图标。 没关系。

但: 我需要应用程序在没有主区域的系统托盘中启动,因此单击主区域的图标会出现。

再次感谢。

1 个答案:

答案 0 :(得分:0)

您所要做的就是默认情况下使主应用程序窗口不可见。并在应用程序的开头设置DockIcon。 您可以在application descriptor file中将in​​itialWindows属性设置为false。可以使用flash.desktop.SystemTrayIcon设置SystemTray。

如果您正在使用HTML,那么您需要的内容几乎相同。您的描述符文件不应显示初始窗口,并且可以使用air.NativeApplication.nativeApplication.icon.bitmaps设置SystemTray图标。快速谷歌搜索后,我在Adobe site上找到了这个:

<html> 
<head> 
<script src="AIRAliases.js" language="JavaScript" type="text/javascript"></script> 
<script language="JavaScript" type="text/javascript"> 
    var iconLoadComplete = function(event) 
    { 
        air.NativeApplication.nativeApplication.icon.bitmaps = [event.target.content.bitmapData]; 
    } 

    air.NativeApplication.nativeApplication.autoExit = false; 
    var iconLoad = new air.Loader(); 
    var iconMenu = new air.NativeMenu(); 
    var exitCommand = iconMenu.addItem(new air.NativeMenuItem("Exit")); 
    exitCommand.addEventListener(air.Event.SELECT,function(event){ 
            air.NativeApplication.nativeApplication.icon.bitmaps = []; 
            air.NativeApplication.nativeApplication.exit(); 
    }); 

    if (air.NativeApplication.supportsSystemTrayIcon) { 
        air.NativeApplication.nativeApplication.autoExit = false; 
        iconLoad.contentLoaderInfo.addEventListener(air.Event.COMPLETE,iconLoadComplete); 
        iconLoad.load(new air.URLRequest("icons/AIRApp_16.png")); 
        air.NativeApplication.nativeApplication.icon.tooltip = "AIR application"; 
        air.NativeApplication.nativeApplication.icon.menu = iconMenu; 
    } 

    if (air.NativeApplication.supportsDockIcon) { 
        iconLoad.contentLoaderInfo.addEventListener(air.Event.COMPLETE,iconLoadComplete); 
        iconLoad.load(new air.URLRequest("icons/AIRApp_128.png")); 
        air.NativeApplication.nativeApplication.icon.menu = iconMenu; 
    } 

</script> 
</head> 
<body> 
</body> 
</html>