- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在寻找一个类名为“CLIPBRDWNDCLASS”的窗口(它可以在办公应用程序和其他应用程序中找到)。
如果我使用 FindWindow 或 FindWindowEx,我会找到第一个具有此类的 HWND,但我想要所有具有该类的窗口,因此我决定使用递归 EnumChildWindows 来枚举所有窗口并找到我想要的窗口:
//-------------------------------------------------------------------------------
BOOL CALLBACK enum_wnd_proc(HWND h, LPARAM lp)
{
char cls[1024] = {0};
::GetClassNameA(h, cls, 1024);
if(std::string(cls) == "CLIPBRDWNDCLASS")
{
// match!
}
::EnumChildWindows(h, enum_wnd_proc, NULL);
return TRUE;
}
//-------------------------------------------------------------------------------
int _tmain(int argc, _TCHAR* argv[])
{
::EnumWindows(enum_wnd_proc, NULL);
return 0;
}
//-------------------------------------------------------------------------------
就是这个窗口不是通过EnumWindows返回,而是通过FindWindow返回。
有谁能说出为什么它不起作用???
最佳答案
EnumWindows
不起作用的原因是您要查找的窗口是 message only window .
FindWindowEx
可以在两种情况下找到它们:
hwndParent
和 hwndChildAfter
都为 NULL。此代码将为您找到所有相关窗口(来自 here 的解决方案的修改版本):
HWND hWindow = FindWindowExA(HWND_MESSAGE, NULL, "CLIPBRDWNDCLASS", NULL);
while (hWindow )
{
// Do something here with window...
// Find next window
hWindow = FindWindowExA(HWND_MESSAGE, hWindow , "CLIPBRDWNDCLASS", NULL);
}
另请注意,与上面链接中的内容不同,仅消息窗口的 GetParent()
不会返回 HWND_MESSAGE
(至少不会用于我的测试)。
关于c++ - 为什么 FindWindow 找到了 EnumChildWindows 找不到的窗口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9518307/
例如,我有一个父类Author: class Author { String name static hasMany = [ fiction: Book,
代码如下: dojo.query(subNav.navClass).forEach(function(node, index, arr){ if(dojo.style(node, 'd
我有一个带有 Id 和姓名的学生表和一个带有 Id 和 friend Id 的 Friends 表。我想加入这两个表并找到学生的 friend 。 例如,Ashley 的 friend 是 Saman
我通过互联网浏览,但仍未找到问题的答案。应该很容易: class Parent { String name Child child } 当我有一个 child 对象时,如何获得它的 paren
我正在尝试创建一个以 Firebase 作为我的后端的社交应用。现在我正面临如何(在哪里?)找到 friend 功能的问题。 我有每个用户的邮件地址。 我可以访问用户的电话也预订。 在传统的后端中,我
我主要想澄清以下几点: 1。有人告诉我,在 iOS 5 及以下版本中,如果您使用 Game Center 设置多人游戏,则“查找 Facebook 好友”(如与好友争夺战)的功能不是内置的,因此您需要
关于redis docker镜像ENTRYPOINT脚本 docker-entrypoint.sh : #!/bin/sh set -e # first arg is `-f` or `--some-
我是一名优秀的程序员,十分优秀!