在C#中的WPF应用程序中获取Windows核心窗口的HWND(窗口句柄)

时间:2016-09-28 10:42:39

标签: c# wpf winapi hwnd spy++

我使用方法GetForegroundWindow()来获取用户正在使用的窗口。但如果窗口是Windows Store App / UWP应用程序(例如计算器),我会看到带有标题的窗口(冰岛的Reiknivél),但过程是ApplicationFrameHost。问题是我需要基础流程。我现在正在研究一个获取该标题并返回该过程的方法,但我不知道如何将ApplicationFrameHost过程连接到实际过程。

我一直在尝试获取屏幕截图中显示的窗口的hwnd(链接如下)。我试图从计算器进程中获得的一个线程中获取它。当我使用GetWindowHandlesForThread()从该线程迭代所有窗口时,我可以获得另外两个及其标题,但Windows.UI.Core窗口的hwnd不显示。而且我知道它就在那里因为如果我使用Spy ++我就能看到它。

有关如何使用C#获取它的任何想法?我尝试过EnumWindowsEnumChildWindowsEnumThreadWindows甚至是GetGUIThreadInfo,而我从其他两个窗口中获得的所有内容都是如此,而不是我需要的CoreWindow。有关如何实现这一目标的任何想法?

enter image description here

0 个答案:

没有答案