基于C++的游戲操縱桿模擬鼠標(biāo)的程序
}
//繼續(xù)傳遞消息
Tform::Dispatch(Message);
}
//自定義的MM_JOY1MOVE消息響應(yīng)函數(shù)OnJoyDown
void __fastcall TForm1::OnJoyMove(Tmessage Message)
{
int x,y;
POINT pt;
//取得鼠標(biāo)當(dāng)前坐標(biāo)
GetCursorPos(pt);
x=LOWORD(Message.Lparam);
y=HIWORD(Message.Lparam);
if(x!=32678)
{
if(x)
{
//向右
pt.x+=10;
}
else
{
//向左
pt.x-=10;
}
}
if(y!=32678)
{
if(y)
{
//向下
pt.y+=10;
}
else
{
//向上
pt.y-=10;
}
}
//設(shè)置鼠標(biāo)坐標(biāo)
SetCursorPos(pt.x,pt.y);
//繼續(xù)傳遞消息
Tform::Dispatch(Message);
}
注意:調(diào)試運行這個程序,系統(tǒng)必須要安裝有游戲操縱桿。自定義的消息處理函數(shù)末尾最好加一句 TForm1::Dispatch(Message),這條語句的作用是讓消息繼續(xù)傳遞下去。Windows是使用用消息處理機制的,如果沒有這一句語句,消息將完全被攔截,Windows程序可能由于得不到消息而無法實現(xiàn)正常的功能。
評論