基于XInput的罗技手柄编程

点击这里下载源代码


2011年8月4日 17:11:29

准备工作:
1.在http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=6812 下载DirectX SDK,并安装(C:\Program Files\Microsoft DirectX SDK).
2.VS中VC++ Include目录加入,C:\Program Files\Microsoft DirectX SDK\Include,libs目录中加入,C:\Program Files\Microsoft DirectX SDK\Lib\x86.
3.程序中加入XInput.h头文件以及XInput.lib
#include <XInput.h>
#pragma comment(lib, "XInput.lib").




正常使用该程序手柄设定(仅在罗技手柄F710做过测试):DX键拨到X,MODE灯灭掉,VIBRATION打开(按下时震动时间较长即为打开),该程序只能对一个手柄进行操作,但修改后可对最多4个手柄进行操作.
1.按下Initialize Joystick按键,测试是否能够读取到手柄数据来测试是否有手柄连接,若有手柄连接,则开启读取手柄数据线程,并且enable震动手柄按键.
2.在读取手柄数据线程中,读取tigger以及thumbstick控制量数据并输出到对应控件中,若某一按键被按下,对应的button也会enable.
3.当按下vibrate button,手柄会高速震动,直到关闭程序或者stop vibration.

4.当关闭程序时,读取手柄控制bool型变量为false,使得读取手柄数据线程终止,等待读取手柄数据线程终止后程序退出.

// Joystick_Test1Dlg.h : 头文件
//

#pragma once
// #############################################################################
// #############################################################################
#include <XInput.h>
#include "afxwin.h"
#pragma comment(lib, "XInput.lib")
// #############################################################################
// #############################################################################


// CJoystick_Test1Dlg 对话框
class CJoystick_Test1Dlg : public CDialog
{
// 构造
public:
	CJoystick_Test1Dlg(CWnd* pParent = NULL);	// 标准构造函数

// 对话框数据
	enum { IDD = IDD_JOYSTICK_TEST1_DIALOG };

	protected:
	virtual void DoDataExchange(CDataExchange* pDX);	// DDX/DDV 支持


// 实现
protected:
	HICON m_hIcon;

	// 生成的消息映射函数
	virtual BOOL OnInitDialog();
	afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
	afx_msg void OnPaint();
	afx_msg HCURSOR OnQueryDragIcon();
	DECLARE_MESSAGE_MAP(
  • 0
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
xinput1_3.dll是一个用于Windows系统的动态链接库文件,其作用是提供对游戏手柄和输入设备的支持。这个文件通常存在于Windows的系统目录下,例如C:\Windows\System32或C:\Windows\SysWOW64目录中。 CSND(中国软件开发网)是一个面向软件开发者和IT专业人士的技术社区,在该平台上,人们可以分享和获取关于软件开发、编程技术、IT行业动态等方面的知识和经验。 在一些情况下,当尝试打开电脑上的某个游戏或应用程序时,会出现“缺少xinput1_3.dll”或“找不到xinput1_3.dll”等错误提示。这是因为电脑缺少了这个文件或者文件已损坏,需要重新安装或修复。 解决这个问题的方法是通过下载适用于您的操作系统的xinput1_3.dll文件,并将其放置在正确的系统目录下。您可以从官方Microsoft网站或其他可信的软件下载网站上获取这个文件。 另外,如果您从CSND平台上下载了某个游戏或应用程序,并且出现了“缺少xinput1_3.dll”错误,请先确保您的操作系统已经安装了DirectX(DirectX是一组API,用于处理多媒体和游戏的图形和声音),因为xinput1_3.dll文件属于DirectX的一部分。如果您的操作系统已安装最新版本的DirectX,但问题仍然存在,那么您可能需要考虑重新安装或更新您的显卡驱动程序。 总的来说,xinput1_3.dll是一个重要的系统文件,提供游戏手柄和输入设备的支持。如果在使用过程中出现缺失或损坏的情况,需要重新下载或修复该文件。希望以上回答能对您有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值