c++ - 我怎样才能得到 child 手的 Handlebars ?

标签 c++ windows

如何获取子 HWNDS 的句柄?

例如我有一个名为“S1Window”的窗口,它有控件(静态文本、登录框等)

我需要一个登录框的句柄

我试过了

BOOL CALLBACK EnumChilds(HWND hwnd, LPARAM lParam)
{
    char class_name[80];
    char title[80];
    GetClassName(hwnd, class_name, sizeof(class_name));
    GetWindowText(hwnd, title, sizeof(title));
    std::cout << "Window title: " << title << std::endl;
    std::cout << "Class name: " << class_name << std::endl << std::endl;
    return TRUE;
}

int _tmain(int argc, _TCHAR* argv[])
{
    HWND hnd=  FindWindowA("", "S1Window");
    EnumChildWindows(hnd, EnumChilds, 0);
}

但是我打开了所有的窗口

最佳答案

实际上,您应该将 NULL 作为 lpClassName 参数传递,而不是空字符串。试试这个:

int _tmain(int argc, _TCHAR* argv[])
{
    HWND hnd =  FindWindowA( NULL, "S1Window" );
    if( hnd == NULL ) {
        return 1;
    }
    EnumChildWindows( hnd, EnumChilds, 0 );
    return 0;
}

关于c++ - 我怎样才能得到 child 手的 Handlebars ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33973033/

相关文章:

c++ - 如何格式化数字?

C++ unordered_map 其中键也是 unordered_map

c++ - 给定一个 x264 流和一个 ogg vorbis 流,我如何制作一个 mplayer/VLC 可以读取的混合流?

c++ - 如何在不从谷歌日志记录的情况下运行测试?

windows - 删除文件夹时系统找不到指定的文件错误

c++ - 如何访问位图中的像素颜色?

javascript - Cypress - 执行时出错 'cypress open'

c++ - 为什么 lsof 不显示 libstdc++ 已加载到 Mac OS X 上?

windows - 如何从 Windows 上的 SBT 获得彩色编码的控制台输出?

windows - 批处理文件中使用 vbscript 命令的批处理脚本问题