Windows 10上的全屏Metro应用程序未使用EnumWindows列出

bvjveswy  于 2022-11-18  发布在  Windows
关注(0)|答案(1)|浏览(172)

使用EnumWindows API时未列出全屏Metro应用程序窗口(https://msdn.microsoft.com/en-us/library/windows/desktop/ms633497%28v=vs.85%29.aspx)。这些窗口在还原或最大化模式下会列出,但在全屏模式下会失败。请注意,所有Metro应用程序都没有全屏模式。我尝试的应用程序是名为3D Chess Game的游戏应用程序,并且没有为3D国际象棋游戏全屏窗口调用EnumWindowsAPI中给出的回调函数,而屏幕上的所有其他顶级窗口都调用了该命令。出现这种行为的原因是什么?是否有其他方法可以通过全屏Metro应用程序窗口进行枚举?
任何帮助都是非常感谢的。提前感谢。

jq6vz3qz

jq6vz3qz1#

我不知道为什么EnumWindows不枚举全屏Metro(UWP)应用程序,但如果您知道窗口标题,则可以使用FindWindow检索其句柄:

var hwnd = FindWindow(null, "Full screen window title");

如果您不知道窗口的标题,或者您想枚举所有窗口,而不管它们的标题是什么,则必须调用EnumChildWindows,如this answer中所述。

相关问题