问题标签 [aero-peek]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
733 浏览

java - Java 桌面应用程序中的 Windows 7 Aero 选项卡一览

我想在我的桌面应用程序中实现选项卡的Aero Peek(根据 Internet Explorer 和这个Firefox 扩展提供的功能)。

我正在使用 Java 进行编码,但我很欣赏我可能需要使用一些本机钩子才能使其正常工作。谁能指出我正确的方向?

0 投票
2 回答
1107 浏览

c++ - 从任务栏缩略图关闭按钮打开处理 WM_CLOSE 时未显示 MessageBox

尝试在 Windows 7 中尝试使用任务栏缩略图中的关闭按钮关闭窗口时显示“您要保存”对话框(启用了 aero peek)。

处理 WM_CLOSE 时使用 MessageBox() 不起作用。直到您将鼠标光标移到缩略图之外,MessageBox 才会显示,因此禁用了 aero peek。

许多应用程序都有这种错误行为,因此它可能是 Windows 7 中的设计缺陷,但对于某些程序(Word、记事本、Visual Studio ......),它可以工作,所以我想知道他们正在使用什么技巧(或者它是什么以编程方式“退出”航空窥视模式)。

Windows 7 附带的小型“录音机”应用程序也有同样的问题(如果您在未保存的情况下录制了某些内容并尝试使用缩略图关闭按钮将其关闭)...

0 投票
1 回答
2425 浏览

wpf - 在 WPF 应用程序中禁用 Aero Peek

我想在我的 WPF 应用程序中禁用 Aero Peek(当用户将鼠标放在“显示桌面”按钮上时,我的应用程序必须可见)。我使用这个 PInvoke 签名:

和这种用法:

在我的 64 位系统(Windows 7 Professional)中,只有在我运行 64 位应用程序时它才有效。如果我在 WOW64 模式下运行 32 位应用程序,我会收到异常:

“对 PInvoke 函数 'XXX::DwmSetWindowAttribute' 的调用使堆栈失衡。这可能是因为托管 PInvoke 签名与非托管目标签名不匹配。检查 PInvoke 签名的调用约定和参数是否与目标非托管签名匹配。 "

你怎么看待这件事?解决办法是什么?

0 投票
1 回答
1162 浏览

winapi - 如何以编程方式在窗口上调用 Aero Peek?

Raymond Chen 已确认没有公开记录的方法可以做到这一点。有谁知道一个无证的解决方案

0 投票
1 回答
609 浏览

c# - 是否可以在 winforms 应用程序中为 MDI 子项使用 Aero Peek?

我从Windows API 代码包中看到,可以在 winforms 应用程序中启用自定义玻璃,但我无法确定如何让子窗口显示为单独的缩略图以进行 aero peek(以大致相同的方式IE 将其选项卡的内容显示为单独的窗口)

是否可以从 Winforms 应用程序执行此操作,还是会涉及大量 P/Invoke voodoo?

0 投票
4 回答
4252 浏览

windows - Windows 航空 peek API

我正在尝试使用 API 进行航空窥视。经过大量的挖掘和搜索,我偶然发现了这段代码:

但我无法让它工作..我不知道参数是什么..我尝试了一些 API 拦截工具,但没有成功。我如何才能发现如何正确调用此 API?

0 投票
0 回答
106 浏览

wpf - 使用 Aero peek 时如何检测选择了哪个窗口

我什至不知道如何问这个问题......

我有一个全屏主窗口的 WPF 应用程序。它以全屏方式启动新窗口,并在某些用户交互时使它们成为主窗口的子窗口。如果用户的机器只有一个监视器,那么这个子窗口应该是焦点,直到关闭。但是,我发现使用 Windows Aero 如果用户将鼠标悬停在我的应用程序的任务栏图标上,则会出现两个窗口的预览。这本身不是问题,除非您尝试选择应用程序的主窗口,因为子窗口始终位于顶部,但 peek 功能给人一种用户可以切换到主窗口的错觉,它看起来像一个漏洞。

我想检测用户正在选择哪个窗口,如果它是主窗口,只需关闭子窗口。或者,如果只有一个可以工作,我希望 Aero 停止显示多个窗口。

有人有这方面的经验吗?

0 投票
0 回答
100 浏览

windows - 删除任务栏缩略图关闭按钮

在 Visual Studio 中,可以通过将 ControlBox 设置为 false 来删除窗口(窗体)右上角的“X”。但是,即使将其设置为 false,任务栏缩略图的右上角仍会显示一个 X 关闭按钮(aero peek?)。有没有办法隐藏那个 X 按钮?

0 投票
1 回答
501 浏览

wpf - 获取窗口中所有正在运行的进程的主页面缩略图

在我的应用程序中,我想让用户看到所有正在运行的进程(具有窗口)的主窗口的小缩略图。

  • 我的应用程序是一个常规的窗口桌面应用程序(用 wpf 编写)
  • 在获取缩略图之前,我不想将其他进程置于前台
  • 如果大部分代码将使用 PInvoke(如果需要)用 .net 编写,那就太好了,但原生也可以

谢谢

0 投票
0 回答
551 浏览

delphi - Windows Aero Peek 最小化时仅显示标题栏

在 Windows 10 上使用 Delphi 10 Seattle,以及 Windows 10 Dark VCL Style。当窗口处于正常状态时,将鼠标悬停在任务栏图标上会在缩略图中显示整个窗口。但是,如果我最小化我的应用程序,则将鼠标悬停在任务栏图标上只会在缩略图中显示标题栏。此外,如果我将鼠标悬停在缩略图上,窗口预览也只显示标题栏,没有别的。如果我将窗口恢复到自然状态,一切都会再次正常运行。

我确信它与特定的 VCL 样式“Windows 10 Dark”有关,因为其他 VCL 样式的行为方式并非如此。实际上,完全不使用 VCL 样式,预览只显示窗体的客户区,根本不显示标题栏。但是使用这种样式,我只能看到标题栏。

这是一个应用了“Windows 10 Dark”样式的空白表单,没有代码:

空表格

当窗口处于正常状态时,Aero Peek 显示正常:

正常状态

当它处于最小化状态时,只显示标题栏:

最小化状态

当悬停在最小化的缩略图上时,也只显示标题栏:

预习

如您所见,这完全违背了 Aero Peek 的目的。看起来有什么东西导致它恢复到古老的 Windows 3.1 最小化窗口样式。

我已经安装了vcl-style-utils库并尝试了该Vcl.Styles.Fixes单元等,但仍然没有运气。已确认此行为发生在 Delphi 10 Seattle(更新 1)的 4 个不同安装上。

是什么导致这种情况发生,我怎样才能使预览正常工作?


编辑

当我说“它不会发生在其他样式上”时,这并没有得到彻底的证明。我是根据之前在 Delphi 10 Seattle 中编译的其他应用程序来判断的。而在现实中,实际上所有的 VCL 风格都在这样做。不使用任何 VCL 样式,一切都按预期工作。

此外,那些未显示此类行为的预构建应用程序也将这些样式嵌入并手动应用。然而,一个新的空应用程序通过 IDE 项目选项分配样式来展示此行为。

有鉴于此,我将进一步测试手动嵌入/应用样式是否真的会有所作为。


编辑 2

如前所述,我通过手动分配样式进行了一些测试。在复制了另一个答案中的代码后,运行时关闭并重新打开样式后,突然我不再看到这种行为。所以看起来这个问题只在加载默认样式时发生。我在之前的编辑中谈到的预编译应用程序都旨在在运行时动态应用样式,而不管 IDE 中的设置如何。


编辑 3

奇怪的是,在EDIT 2之后第一次工作之后,现在我无法让它再次按预期工作。在运行时切换样式不再是“修复”这个问题。它似乎只“修复”一次。那么为什么在我们的生产应用程序中一切正常,是一个进一步调查的问题。从技术上讲,这些应用程序甚至没有嵌入其中的样式。它们实际上被嵌入到单个 DLL 中,然后由这些应用程序共享,它们的资源在运行时被提取和应用。所以我将不得不深入研究并尝试重新创建工作代码。