<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 游戲操縱桿模擬鼠標的C++程序

游戲操縱桿模擬鼠標的C++程序

作者: 時(shí)間:2012-07-02 來(lái)源:網(wǎng)絡(luò ) 收藏

要編寫(xiě)一個(gè)支持的應用,首先必須要捕獲,接著(zhù)要處理Windows發(fā)送給窗口的消息,最后使用完操縱桿后,還應將捕獲的操縱桿資源釋放。

本文引用地址:http://dyxdggzs.com/article/148825.htm

  調用API函數joySetCapture能捕獲操縱桿。調用joySetCapture函數后,操縱桿產(chǎn)生的所有消息將會(huì )發(fā)送到指定的窗口。它的原型為:

  MMRESULT joySetCapture(HWND hwnd, UINT uJoyID, UINT uPeriod, BOOL fChanged );

  其中,參數hwnd為接收操縱桿消息的窗口句柄;參數uJoyID為要捕獲的操縱桿標識,它可以是JOYSTICKID1或是JOYSTICKID2,即第一、第二個(gè)游戲操縱桿;參數uPeriod為輪詢(xún)的頻率,單位為毫秒,它指定給應用發(fā)送有關(guān)操縱桿信息的間隔時(shí)間;參數fChanged為改變位置標識,可設為false。

  要釋放操縱桿的捕獲時(shí),使用joyReleaseCapture函數。它只有一個(gè)參數,就是操縱桿的標識JOYSTICKID1或JOYSTICKID2。

  下面,就讓我們用Borland C++ Builder 5.0來(lái)做一個(gè)用游戲操縱桿的程序。

  運行Borland C++ Builder 5.0,雙擊窗體Form1,在Form1的OnCreate事件中加入以下代碼捕獲一個(gè)游戲操縱桿:

  void __fastcall TForm1::FormCreate(Tobject *Sender)

  {

  int JoyMsg;

  //捕獲游戲操縱桿

  JoyMsg=joySetCapture(Handle,JOYSTICKID1,0,false);

  if(JoyMsg==JOYERR_NOCANDO)

  {

  //捕獲失敗

  ShowMessage(不能捕獲游戲桿!);

  }

  else

  {

  if(JoyMsg==JOYERR_UNPLUGGED)

  {

  //沒(méi)有連接

  ShowMessage(游戲桿未與系統連接!);

  }

  else

  {

  if(JoyMsg==MMSYSERR_NODRIVER)

  {

  //沒(méi)有安裝

  ShowMessage(系統沒(méi)有安裝游戲桿!);

  }

  else

  {

  //捕獲成功

  ShowMessage(捕獲游戲桿成功!);

  }

  }

  }

  在Form1的OnCloseQuery事件中加入代碼,讓程序關(guān)閉時(shí)釋放操縱桿捕獲的資源:

  void __fastcall TForm1::FormCloseQuery(Tobject *Sender, bool CanClose)

  {

  //釋放操縱桿捕獲

  joyReleaseCapture(JOYSTICKID1);

  }

c++相關(guān)文章:c++教程



上一頁(yè) 1 2 3 下一頁(yè)

關(guān)鍵詞: 程序 鼠標 模擬 操縱桿 游戲

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>