gpt4 book ai didi

c++ - 具有 WS_EX_LAYERED 窗口样式的 Adob​​e Air

转载 作者:行者123 更新时间:2023-11-30 04:48:22 25 4
gpt4 key购买 nike

我正在尝试在外部 Adob​​e Air 应用程序上设置 WS_EX_LAYERED 扩展窗口样式。 See this question如果你想知道为什么。我面临的问题是,一旦我设置了样式,窗口就会停止渲染。这是我的代码:

auto style = GetWindowLong(hwnd, GWL_EXSTYLE);
SetWindowLong(hwnd, GWL_EXSTYLE, style | WS_EX_LAYERED);
// If I skip the next line, the window is suddenly white.
// With the next line, the image in the window freezes.
SetLayeredWindowAttributes(hwnd, 0, 255, LWA_ALPHA);

窗口继续正常工作(点击等),只是不再重新绘制(例如调整大小时)。该窗口具有CS_OWNDCCS_CLASSDC 样式。

谁能告诉我是什么原因?

最佳答案

您在应用程序描述 rune 件中设置的渲染模式是什么?我想你的方法不会起作用,除非你专门将它设置为通过 CPU 呈现,即让 AIR 使用 GDI 函数来显示内容。我认为默认情况下它可能会使用 GPU 加速,因此通过 SetWindowLong 设置样式可能会干扰这一点..

如果您不确定如何更改渲染模式:

  • 找到应用程序的安装文件夹(在“Program Files (x86)”下)
  • 进入“META-INF\AIR”子文件夹
  • 编辑“application.xml”文件
  • 在“initialWindow”部分查找“renderMode”(如果不存在,添加它......)并将其设置为“cpu”
  • 保存并重新启动 AIR 应用程序

参见 AIR Descriptor File信息。

关于c++ - 具有 WS_EX_LAYERED 窗口样式的 Adob​​e Air,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55836546/

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