gpt4 book ai didi

actionscript-3 - 在 flex 中调用 Win32 API 来设置 Window Display Affinity

转载 作者:行者123 更新时间:2023-12-04 12:53:21 48 4
gpt4 key购买 nike

我用 Adob​​e Air 创建了一个 Flex 桌面应用程序。
我需要保护应用程序不被捕获。通过更改应用程序的窗口显示亲和性,可以保护应用程序不被捕获。
如何在flex中使用win API?
有没有其他方法可以保护窗口不被捕获?

最佳答案

首先你必须确保主窗口没有 WS_EX_LAYERED window 风格。这种风格使SetWindowDisplayAffinity代码 8 ( ERROR_NOT_ENOUGH_MEMORY ) 失败,至少在我的机器上 (7 Pro 64 位)。在您的 -app.xml file ,将值设置为 false对于节点 <transparent><initialWindow> 下.

其次,您必须选择如何在应用程序进程中注入(inject)常规 C DLL,因为如果您尝试更改不在调用者进程中的窗口的关联性,API 将失败并出现错误 5 (ERROR_ACCESS_DENIED)。

一种可能的注入(inject)方法是使用 SetWindowsHookEx API。谷歌会给你很多关于那个的点击。随意询问一些细节。您显然需要另一个进程的合作,这里(和一些 Win32 API 实践)。

另一种可能的方法是编码 'ACTIONSCRIPT® Extensions for ADOBE® AIR®' (PDF) .

后者似乎更可取:

  • 无需来自外部流程的协作。
  • Adobe AIR 会为您加载 DLL。
  • C/C++ 代码更简单。

  • 我使用了第一种技术,因为我更熟悉有关 DLL 的原始 Win32 API,而不是 AIR 和 Action Script...

    我用一个非常简单的“Hello World”AIR 桌面应用程序成功地测试了第一种技术,并在 Print Screen 之后获得了一个漂亮的“全黑”图像。

    关于actionscript-3 - 在 flex 中调用 Win32 API 来设置 Window Display Affinity,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30723579/

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