Windows 10新的任务视图功能访问

时间:2015-07-03 19:24:06

标签: c++ winapi view task windows-10

我想知道:在Windows 10上是否有任何API或任何方式来访问任务视图功能窗口或矩形? Windows10中的C ++ WinAPI可能会出现吗?

我需要在“任务视图”模式下显示窗口缩略图的位置,并确定其位置和大小,以了解它们的显示位置。我不想移动它们,只知道它们在哪里展示。

我已经在这几天了,我不认为这是可能的(没有可怕的黑客)......但也许你知道! :)

这就是我的问题......这是我发现的:

我到处寻找,我已经在MSDN开发者网络上看到了完美的问题(没有答案),该网络重定向到" Windows 10开发人员准备",重定向到MSDN开发人员网络,无限循环

https://social.msdn.microsoft.com/Forums/en-US/71ed4a41-cfd9-488c-ac96-8282f64d2fc9/accessing-task-view-through-api-?forum=vclanguage

http://answers.microsoft.com/en-us/insider/forum/insider_wintp-insider_update/accessing-task-view-through-api/f46544d5-4eae-4993-a82a-e2b846214c0b

我没有把我看过的100个左右的链接找到答案......

以下是我所知道的

我知道有一个窗口(实际上每个监视器一个窗口)似乎只有在按下Win + Tab时才会创建。因此很难掌握,但有一些方法可以做到:

  1. 以编程方式,使用EnumWindows(),在按下键后调用。
  2. 同样使用Spy ++,但只有在将其设置为" Always On Top"后,按" Win + Tab"显示"任务视图",然后按刷新。然后我可以在Windows列表中找到HWND,但它之后无效,我无法获取属性(这就是为什么我认为窗口只在快捷方式上创建)。
  3. 我发现窗口名为" 任务视图",类名为" MultitaskingViewFrame "。 Alt + Tab似乎也使用相同的窗口名称和类名。

    窗户没有孩子,所以没有办法得到它,这太容易了。

    似乎所有东西都在画上"在飞行中"。

    所以我在这里。我现在唯一可以找到的方法是截取所有内容,并进行图像处理......但那是:

    1. 不太准确(背景和实际可点击区域之外的边框怎么样)。
    2. 很可能非常慢,或者至少为这么看似小的任务占用太多CPU。
    3. 根本不干净。
    4. 很抱歉这个问题很长,我通常不会问问题,因为我在某个地方找到答案,或者自己找出答案,但我想比我找到的唯一解决方案做得更干净,更准确!

1 个答案:

答案 0 :(得分:0)

没关系,我找到了一种方法:UI自动化工具(它找到了窗口,我现在只需要做同样的事情)。

有用的资源:https://code.msdn.microsoft.com/Windows-7-UI-Automation-9131f729