2011-09-16 25 views
0

Adob​​e AIR中的小部件在系统启动时提前致谢

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

交通灯绿色和红色图标来检查一些服务。

我做了所有的图形和图标16 * 16在winXp系统中创建一个图标。 没关系。

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

再次感谢。

回答

0

您所要做的就是让主应用程序窗口在默认情况下不可见。并在应用程序的开始处设置DockIcon。 您可以在application descriptor file中将initialWindows属性设置为false。 SystemTray可以通过使用flash.desktop.SystemTrayIcon进行设置。

如果你使用HTML,你需要的东西几乎是一样的。您的描述符文件不应显示初始窗口,并且可以使用air.NativeApplication.nativeApplication.icon.bitmaps来设置SystemTray图标。经过快速Google搜索,我在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> 
+0

感谢您的信息! – erbazzone

+0

一个问题......我必须在没有Flash的情况下完成所有这些。只有在没有动作脚本的.xml中才能做到这一点。 – erbazzone

+0

我更新了我的答案,希望这是您要找的内容 –