【问题标题】:Does anyone know what parameters to pass to dwmapi.dll ordinal #113?有谁知道要传递给 dwmapi.dll 序号 #113 的参数是什么?
【发布时间】:2009-05-27 15:26:31
【问题描述】:

有谁知道将什么参数传递给 dwmapi.dll 序号 #113? (Windows 7)

我正在尝试将此方法合并到我正在编写的应用程序中。据我所知,这个方法负责为 Windows 做 Aero peek 事情。如果我不向该方法传递任何参数,它将显示所有打开的非最大化窗口的桌面和轮廓。当我尝试传递参数时没有任何反应——我已经通过反复试验完成了。主要是错误。

任何帮助将不胜感激。

【问题讨论】:

  • 如果您在 5 到 10 年后查看 Raymond Chen 的博客,其中他抱怨微软仍然支持一些过时的 dwmapi.dll 功能,因为即使它没有记录,也有依赖于它的应用程序,您'我知道你今天不应该这样做:)

标签: winapi windows-7


【解决方案1】:

不要这样做。它没有记录是有原因的,并且随时可能更改和/或删除。鉴于 Windows 7 尚未发布,您甚至无法保证它会出现在最终版本中。

【讨论】:

  • 我确信它没有记录是有原因的。但是,我正在为自己创建这个程序,并且没有发布它的计划。我真的不认为这种方法会改变或被删除。如果是的话,我会找到使用它的替代方法。
【解决方案2】:

您的标签不一致。 API 是应用程序编程接口。 Ordinal #113 未记录,因为它不是应用程序接口的一部分。它可能存在是因为操作系统本身需要它,或者因为当前的 RC 尚未完成删除它等。

【讨论】:

  • 我非常怀疑该方法是否会在 Windows 7 的未来版本中被更改/删除。自第一次发布/泄露的版本以来它没有改变。
  • @softwerx:哈哈……让我把你介绍给 Bob。他曾在一个名为 WinFS 的团队工作。
【解决方案3】:

嗯,我曾经用 AeroPeek 功能模仿 Alt-Tab。

using System.Runtime.InteropServices;
...   
[DllImport("dwmapi.dll", EntryPoint = "#113", SetLastError = true)]
            internal static extern uint DwmpActivateLivePreview(uint a, IntPtr b, uint c, uint d);
...
//To call it
IntPtr peekHwnd = //<-- here goes the application Handle to aeropeek
//to enable
DwmpActivateLivePreview(1, peekHwnd, 0, 1);
...
//to disable
DwmpActivateLivePreview(0, peekHwnd, 0, 1);

谨慎使用它,因为许多 cmets 告诉您它由于某种原因没有记录。

【讨论】:

    【解决方案4】:

    我认为是因为并非所有 Windows 版本都支持 aeropeek,不支持 home basic,也许您可​​以实现自己的窗口 peek 或至少使用 alpha 透明度(同时绘制一些边框)来伪造它并使用查询底层窗口窗口矩形坐标类似于矩形碰撞检测算法。

    【讨论】:

      【解决方案5】:

      请阅读Raymond Chen's blog,直到您意识到这是一个非常非常非常糟糕的主意!

      【讨论】:

      • 我以前读过这个博客。我明白后果..我只想知道到目前为止传递该方法的参数是什么样的。如果它发生变化,我至少会知道如何更新我自己的代码以反映其变化。
      【解决方案6】:

      应用无法激活 Aero Peek 是有原因的 - 用户可以选择何时发生这种情况,而不是您。

      【讨论】:

      • 我正在构建的程序是一个模仿 Windows 7 任务栏的任务栏应用程序。我想尽可能地重现它——这就是想要使用 Aero Peek 的原因。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-12-29
      • 2011-03-10
      • 1970-01-01
      • 1970-01-01
      • 2011-03-14
      • 1970-01-01
      • 2011-03-20
      相关资源
      最近更新 更多