如果写死blood的值(int blood=300;),是可以正常加血的,但是从编辑框获取值,就不行了,找不到原因。编辑框加了变量m_blood,但用GetDlgItemInt来取值,貌似不需要用到变量m_blood。
Build倒是没错,就是不能加血了啊。
void CALLBACK AddBlood(
HWND hwnd, // handle of window for timer messages
UINT uMsg, // WM_TIMER message
UINT idEvent, // timer identifier
DWORD dwTime // current system time
)
{
int blood;
blood=GetDlgItemInt(NULL,IDC_BLOOD,NULL,TRUE);
int * pBlood=(int *)BloodBase;
if(* pBlood<blood)
{
_asm
{
push 1
push 1
push 0
mov eax, 0x007796A0
call eax
}
}
}
void WGForm::OnAutoAddBlood()
{
// TODO: Add your control notification handler code here
UpdateData(true);
if(m_auto_add_blood)
{
SetTimer(222,800,&AddBlood);
}
else
{
KillTimer(222);
}
}