嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 2 元微信扫码支付:2 元
请留下您的邮箱,我们将在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));
}
}