基本信息
源码名称:MFC的鼠标滚动助手
源码大小:53.44M
文件格式:.zip
开发语言:C/C++
更新时间:2025-03-30
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 2 元 
   源码介绍

基于MFC的鼠标滚动助手,可以二次开发为指定窗口版本,基于vs2022

void GetWindowsByClassNameAndProcessId(std::vector<HWND>& wnds, const std::wstring className, const DWORD processId)
{
    EMWDATA emwdata = {
        .processId = processId,
        .className = className,
        .matchedWnds = wnds,
    };

    EnumWindows(
        [](HWND hWnd, LPARAM lParam)->BOOL {
            PEMWDATA emwData = reinterpret_cast<PEMWDATA>(lParam);

            DWORD processId;
            GetWindowThreadProcessId(hWnd, &processId);


            if (emwData->processId == processId) {
                emwData->paraendWnds.push_back(hWnd);
            }

            return TRUE;
        }, reinterpret_cast<LPARAM>(&emwdata));


    for (HWND hWnd : emwdata.paraendWnds)
    {
        EnumChildWindows(hWnd,
            [](HWND hWnd, LPARAM lParam) -> BOOL {
                PEMWDATA emwData = reinterpret_cast<PEMWDATA>(lParam);

                const int classNameLength = 256;
                TCHAR className[classNameLength];
                GetClassName(hWnd, className, classNameLength);

                if (emwData->className == className)
                {
                    emwData->matchedWnds.push_back(hWnd);
                }

                return TRUE;
            },
            reinterpret_cast<LPARAM>(&emwdata));
    }
}