gpt4 book ai didi

apache-flex - Windows 上的 Application.application.nativeWindow.activate() 问题

转载 作者:行者123 更新时间:2023-12-01 21:30:47 25 4
gpt4 key购买 nike

我有一个带有系统托盘图标的 AIR 应用程序。单击时,它会显示并激活该应用程序。当应用程序隐藏(停靠)时,这可以按预期工作,但是如果我选择另一个应用程序,那么我的应用程序就在后台,单击系统托盘图标不会执行任何操作。

奇怪的是,我在系统托盘图标上还有一个上下文菜单,其中有一个恢复选项,这会调用与 ScreenMouseEvent.CLICK 相同的事件处理程序,但仍然有效。

我预计这与上下文菜单改变焦点有关,也许这是 AIR 与系统托盘一起工作的一个错误,也许这只是我遗漏的东西。很高兴知道情况是否如此。

提前致谢

最佳答案

//instead of just calling
activate();

//call
nativeApplication.activate()

//or even better
nativeApplication.activate(nativeWindow);

根据OP的输入进行更新:如果您为该应用程序打开了多个窗口,请使用:

nativeApplication.activate(nativeApplication.openedWindows[0]);

如果您不在主 WindowedApplication 类中,则可以使用静态属性 NativeApplication.nativeApplication 来获取对单例对象的引用。

WindowedApplication.activate()

Activates the underlying NativeWindow (even if this application is not the active one).

NativeApplication.activate(window:NativeWindow = null)

Activates this application. If the operating system allows activation, then the specified window is activated and brought to the desktop foreground; that is, in front of the windows of other applications. (If the window parameter is null, then a visible window of this application is activated.)

livedocs 不清楚为什么会发生这种情况。它说 activate() 激活底层 native 窗口 - 人们希望它在激活时被带到前面,但事实并非如此。

关于apache-flex - Windows 上的 Application.application.nativeWindow.activate() 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1867364/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com