在AdobeAIR应用程序中,如何将可见的NativeWindow显示在所有应用程序的前面

在AdobeAIR应用程序中,如何将可见的NativeWindow显示在所有应用程序的前面,adobe,air,Adobe,Air,我正在开发的应用程序是一个基于AIR2.5SDK的HTML AIR应用程序 应用程序启动两个窗口:第一个窗口是一个隐藏窗口,它在系统托盘上注册自身(特定于窗口);第二个是一个可见的轻量级窗口,显示各种信息位。由于可视窗口是轻量级的,因此如果隐藏在其他应用程序窗口下,则没有任务栏条目可以始终让用户将窗口带到前面 要求是,单击系统托盘图标时,显示窗口将显示在前面 我当前的解决方案类似于: function handleClick(){ var nativeDisplayWindow = fi

我正在开发的应用程序是一个基于AIR2.5SDK的HTML AIR应用程序

应用程序启动两个窗口:第一个窗口是一个隐藏窗口,它在系统托盘上注册自身(特定于窗口);第二个是一个可见的轻量级窗口,显示各种信息位。由于可视窗口是轻量级的,因此如果隐藏在其他应用程序窗口下,则没有任务栏条目可以始终让用户将窗口带到前面

要求是,单击系统托盘图标时,显示窗口将显示在前面

我当前的解决方案类似于:

function handleClick(){
    var nativeDisplayWindow = findDisplayWindow(); 
    nativeDisplayWindow.alwaysInFront = true;
    nativeDisplayWindow.alwaysInFront = false;
}
function findDisplayWindow(){
    // looks in air.NativeApplication.nativeApplication.openedWindows for the 
    // the display window and returns it
}
function handleClick(){
   var nativeDisplayWindow:Window = findDisplayWindow() as Window; 
   nativeDisplayWindow.orderToFront();
}
这很管用,但感觉不太对劲

我尝试过使用
NativeWindow.orderToFront()
&
NativeWindow.activate()
和所有其他方法的各种组合


这是将窗口置于空中所有应用程序窗口前面的正确方法吗?

如果您尝试将您的
nativeDisplayWindow
转换为窗口,您应该能够执行以下操作:

function handleClick(){
    var nativeDisplayWindow = findDisplayWindow(); 
    nativeDisplayWindow.alwaysInFront = true;
    nativeDisplayWindow.alwaysInFront = false;
}
function findDisplayWindow(){
    // looks in air.NativeApplication.nativeApplication.openedWindows for the 
    // the display window and returns it
}
function handleClick(){
   var nativeDisplayWindow:Window = findDisplayWindow() as Window; 
   nativeDisplayWindow.orderToFront();
}

我不知道这是否是您要找的,或者我只是重复了您所解释的内容?

我想尝试orderToFront()。。。它似乎不适合你你在找什么样的东西?你试过恢复窗户吗?这可能会使它成为焦点?NativeWindow.orderToFront()将窗口置于应用程序窗口的顶部,我必须强制将窗口置于所有窗口的顶部(尤其是在windows上)。确切的用例是一个带有系统托盘窗口的无铬窗口,单击系统托盘必须使窗口突出。实际的应用程序现在可用(包括我的黑客)链接是404。这将是有用的黑客记录作为一个问题的答案。经典案例。。。它不会将其带到模态窗口的前面:(我也有同样的问题,这是唯一有效的解决方案。依我看,它的逻辑性足以让人接受,而不会对语义产生恐慌。也就是说,我很喜欢这个解决方案:)