美文网首页
Win32API枚举桌面窗口

Win32API枚举桌面窗口

作者: 客昂康 | 来源:发表于2021-03-19 10:26 被阅读0次

Win32API的EnumWindows()可以枚举桌面所有窗口,且枚举顺序是从顶层窗口到底层窗口,回调函数EnumWindowsProc()返回0可提前结束枚举过程,测试代码如下:

#include <windows.h>
#include <stdio.h>
#include <stdint.h>
#include <stdlib.h>
#include <string.h>

#pragma comment(lib, "User32.lib")

static BOOL CALLBACK EnumWindowsProc(HWND hwnd, LPARAM lParam){
    if(IsWindowVisible(hwnd)){
        char buffer[256];
        int len = GetWindowTextA(hwnd, buffer, 256);
        buffer[len] = 0;
        
        WINDOWINFO winInfo = {0};
        winInfo.cbSize = sizeof(WINDOWINFO);
        GetWindowInfo(hwnd, &winInfo);
        
        printf("%016llx %10llu: %08X %08X %u [%6d %6d %6d %6d] [%6d %6d %6d %6d] %s\n", 
            (uint64_t)hwnd, 
            (uint64_t)hwnd, 
            winInfo.dwStyle,
            winInfo.dwExStyle,
            winInfo.dwWindowStatus,
            winInfo.rcWindow.left, winInfo.rcWindow.top, winInfo.rcWindow.right, winInfo.rcWindow.bottom, 
            winInfo.rcClient.left, winInfo.rcClient.top, winInfo.rcClient.right, winInfo.rcClient.bottom,
            buffer
        );
    }
    return 1;
}

int main(int argc, char* argv[]){
    EnumWindows(EnumWindowsProc, 0);
    return 0;
}

运行效果如图:


相关文章

  • Win32API枚举桌面窗口

    Win32API的EnumWindows()可以枚举桌面所有窗口,且枚举顺序是从顶层窗口到底层窗口,回调函数Enu...

  • C#中移动无边框窗体的方法

    1.使用WIN32API,该方法模拟了一个左键拖动当前窗口标题栏的消息,仅对使用鼠标左键拖动窗口有效。由于调用了R...

  • 简化流程的技巧

    开发的时候创建五个桌面: 当前编写的项目(xcode窗口) 浏览器窗口 编写项目辅助窗口(finer窗口、终端窗口...

  • C#可直接调用的Win32 API

    以前整理的Win32API,可以直接在C#中直接调用,在做WinForm时还是很有帮助的。以前用在一个多窗口界面中...

  • Win 10 常用快捷键

    Win键 + 向上键最大化窗口(传统桌面)Win键 + 向左键 将窗口最大化到屏幕的左侧(传统桌面)Win键 + ...

  • linux的centos系统新建多个桌面 centos系统新建多

    本次使用的系统为Linux发行版CentOS 1、在Linux系统的任务栏最右侧找到桌面窗口,在桌面窗口鼠标右键,...

  • linux学习汇总

    一:linux基本命令 1、安装好桌面版linux后去掉桌面显示黑窗口 右键桌面,选择openinterminal...

  • 第四节 分析枚举的内存布局以及常用指令

    一. 简单的枚举类型 简单枚举 调试技巧: 查看变量的内存地址:创建后 -> 断点 - > 最下面调试窗口 -> ...

  • algorithm

    滑动窗口最大值(239) 1. 枚举多维数组路径 测试

  • 如何设置屏幕保护色

    桌面空白处 右键单击,选择“个性化”个性化窗口 在弹出的“个性化”窗口,单击选择“窗口颜色”窗口颜色 在弹出的“窗...

网友评论

      本文标题:Win32API枚举桌面窗口

      本文链接:https://www.haomeiwen.com/subject/hshvcltx.html