如何实现利用Flex隐藏任务栏图标
第一:说明 所有的WindowedApplication的NativeWindow都是有任务栏图标的,
因为他们默认的 NativeWindowInitOptions.type = NativeWindowType.NORMAL;
这种窗口都是带有任务栏图标的。 而且 NativeWindow一旦初始化 就决定NativeWindowInitOptions的属性不可更改。
第二:可以新建一个NativeWindow,对于这个新的NativeWindow可以设置它的
NativeWindowInitOptions.type = NativeWindowType.LIGHTWEIGHT;
表示轻量级的,是没有任务栏图标的。
第三:将主程序关闭。
第四:也是难点:如何将需要的内容加载到我们新建的NativeWindow上面。
程序代码:Demo
核心代码:
<?xml version="1.0" encoding="utf-8"?>
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="
library://ns.adobe.com/flex/spark"
xmlns:mx="
library://ns.adobe.com/flex/halo"
creationComplete="init()"
>
<fx:Script>
<![CDATA[
private var nativewindow:NativeWindow;
private function init():void{
loader.addEventListener(MouseEvent.MOUSE_DOWN,mousedownHandle);
initNewWindow();
}
private function initNewWindow():void{
var options:NativeWindowInitOptions = new NativeWindowInitOptions();
options.transparent =
true;
options.systemChrome = NativeWindowSystemChrome.NONE;
options.type = NativeWindowType.LIGHTWEIGHT;
//create the window
nativewindow =
new NativeWindow(options);
nativewindow.title =
"A title";
nativewindow.width = 150;
nativewindow.height = 150 ;
this.nativeWindow.close()
nativewindow.stage.addChild(loader);
nativewindow.activate();
}
private function mousedownHandle( e:MouseEvent):void{
nativewindow.startMove();
}
]]>
</fx:Script>
<mx:Label id="loader" text="hello!" />
</s:WindowedApplication>