[VC++学挂] 读取内存数据

本文介绍了一种在游戏《疯狂农场3》中通过读取特定内存地址来获取玩家金钱数值的方法。利用Windows API函数FindWindow、GetWindowThreadProcessId和ReadProcessMemory,可以实现对游戏进程的定位和内存读取,从而实时获取游戏中的金钱数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ExpandedBlockStart.gif代码
void CMy2Dlg::OnMemoryRead() 
{
    
// baseURL 23581628
    HWND GameH;
    DWORD ProcessID,Mybyte;
    HANDLE ProcessH;
    
int Money;
    GameH 
= ::FindWindow(NULL,"Farm Frenzy 3");
    
if (GameH !=0)
    {
        
//this->m_data = (int)GameH;
        ::GetWindowThreadProcessId(GameH,&ProcessID);        
        ProcessH
=::OpenProcess(PROCESS_ALL_ACCESS,FALSE,ProcessID);
        
if (::ReadProcessMemory(ProcessH,(LPVOID)0x23581628,(LPVOID)&Money,4,&Mybyte))
        {
            
this->m_data = Money;
        }
        
else
            
this->m_data = 0;
    }
    UpdateData(
false);
    
}

 测试程序:疯狂农场3

转载于:https://www.cnblogs.com/rogee/archive/2010/10/03/1841637.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值