c语言 编程-DirectX 9.0 Summer 2004 SDK和VC++6.0编程时总是出现问题,怎么办???

问题描述

DirectX 9.0 Summer 2004 SDK和VC++6.0编程时总是出现问题,怎么办???

#define DIRECTINPUT_VERSION 0x0800 //声明DirectX Input的版本是8.0
#ifndef _WIN32_DCOM
#define _WIN32_DCOM
#endif
#define pr printf

#pragma once
#define INITGUID //确保INITGUID已被定义
#define INTERFACE IDirectInput8A
#include
#include
#include
#include

#pragma comment(lib,"dxguid.lib")
#pragma comment(lib,"DxErr9.lib")
#pragma comment(lib,"dinput8.lib")

int main()
{
HRESULT hresult;

LPDIRECTINPUT8 lpdi; //DirectInput接口对象指针
LPDIRECTINPUTDEVICE8 Joystick=NULL; //定义指向游戏操纵杆的指针

//创建DirectInput接口对象
hresult=DirectInput8Create(
GetModuleHandle(NULL), //应用程序句柄
DIRECTINPUT_VERSION, //DirectInput版本号
&IID_IDirectInput8, //强制类型转换,否则该参数不匹配(#define REFIID const struct GUID const)即一个指向一个常量的指针常量 &
(VOID
*)&lpdi,

NULL);

if(hresult!=DI_OK)
{pr("创建DirectInput对象失败!n"); return 1;}
else
pr("创建DirectInput对象成功!n");

//创建DirectInput设备,
hresult=lpdi->CreateDevice(GUID_Joystick,&Joystick,NULL);
}

e:chengxushili手柄按钮shoubingcaozonggan.c(48) : error C2039: 'CreateDevice' : is not a member of 'IDirectInput8A'
d:program filesmicrosoft directx sdk 9.0includedinput.h(2625) : see declaration of 'IDirectInput8A'
Error executing cl.exe.

CaoZongGan.obj - 1 error(s), 0 warning(s)

请问大牛们这个程序该怎么修改啊?我这刚开始就出现了错误,纠结中!~~~~~~~
更多 0

时间: 2024-10-29 12:44:03

c语言 编程-DirectX 9.0 Summer 2004 SDK和VC++6.0编程时总是出现问题,怎么办???的相关文章

《C语言课程设计》一1.1 VC 6.0简介

1.1 VC 6.0简介 Visual C++ 6.0是Microsoft公司推出的开发Win32程序的集成开发环境,可将"高级语言"翻译为"机器语言(低级语言)",并支持面向对象可视化编程.它具有程序框架自动生成.灵活方便的类管理.代码编写和界面设计集成交互操作.可开发多种程序等优点,而且通过简单的设置即可使其生成的程序框架支持数据库接口.OLE和WinSock网络. Visual C++ 6.0, 简称VC 6.0或VC 6,是微软公司于1998年推出的Visu

为什么程序在vc6.0编译通过并且运行正确但是在编程挑战时提交后却是运行结果不对

问题描述 为什么程序在vc6.0编译通过并且运行正确但是在编程挑战时提交后却是运行结果不对 编程挑战试了几次都是结果不对,但是我在vc6.0编译后运行的结果是正确的啊! 解决方案 这个有很多原因,比如说,你的程序本身有bug,虽然可以通过某些测试用例,但是oj使用的是另外的用例,没有通过,或者是你的程序在运行时间和使用内存上不符合要求,或者你的程序输入输出部分有问题,使得oj程序没法传递正确的测试用例,以及获取你的输出.还可能你使用了额外的库,而oj没有,你的编译器和oj的不同,造成编译上的细微

Enterprise Library 2.0 技巧(4):如何用编程的方法来配置Logging Applicat

Enterprise Library 2.0 技巧(4):如何用编程的方法来配置Logging Application Block 在本系列的技巧(1)和技巧(2)中分别介绍了使用外部配置文件,使用数据库记录配置信息两种方法,不知道大家有没有想过不使用任何配置文件,也不使用数据库而直接用编程的方法来实现呢?本文将会展示如何使用编程的方法来配置Logging Application Block.首先我们需要了解一下Logging Application Block中比较重要的几个对象: 1.Log

c语言如何实现1到9999递增输出,空白用0占位

问题描述 c语言如何实现1到9999递增输出,空白用0占位 四位,从1到9999递增显示出来,空白的位置用0占位,请大神帮忙,不胜感激 解决方案 int main(void) { for( int i=0;i<10000;i++) { printf("%04d",i) if( (i%50 == 0) && (i!=0) ) printf("n"); } return 0; } 解决方案二: printf("%04d",m);

c语言编的秦九韶公式,纳尼?结果为什么是0.000000?大家帮我看下,谢谢。

问题描述 c语言编的秦九韶公式,纳尼?结果为什么是0.000000?大家帮我看下,谢谢. #include #include double Area(int i,int j,int k) { double m,s; s=(i+j+k)/2; m=sqrt(s*(s-i)*(s-j)*(s-k)); return m; } int main() { int a,b,c, double M; printf("please input a,b,c:n"); scanf("%d%d%

VS2013和codeblocks,VC++6.0在C/C++上编程有多大区别?

问题描述 VS2013和codeblocks,VC++6.0在C/C++上编程有多大区别? VS2013和codeblocks,VC++6.0在C/C++上编程有多大区别? 为什么有的代码在codeblocks和VC++6.0上完美运行,但在VS2013上总是报错或者失败退出? 解决方案 VS2013主要一个是使用unicode默认,一个是它支持C++ 11/14的新语法. 另外一些不安全的函数,比如scanf strcpy等默认被禁止使用(可以通过编译器开关允许) 解决方案二: 感觉VS201

mfc-MFC基于对话的编程,请问一下程序每一行都有什么用?(VC++6.0)

问题描述 MFC基于对话的编程,请问一下程序每一行都有什么用?(VC++6.0) 这是用MFC基于对话写的一个应用程序中的一段代码,作用是单击一个按钮,在一个列表框里显示程序连接的数据库里的数据 请问一下每一行程序都是做什么的?能教我怎么使用这些函数就更好了.小白求教 void CtrainDlg::OnClickList1(NMHDR* pNMHDR, LRESULT* pResult) { // TODO: Add your control notification handler code

c语言-C语言使用随机分布函数rand()%100;但是二维数组a[0][0]的值大于100,其他正常

问题描述 C语言使用随机分布函数rand()%100;但是二维数组a[0][0]的值大于100,其他正常 #include #include #define M 5 #define N 4 void china(int a[][N],int b[M]);/*给二维数组随机分配数值,并求二维数组每行数值之和*/ void orange(int a[][N],int b[M]);/*将付好值得数组和求和打印出来*/ void main() {int a[M][N],b[N]; china(a,b);

c语言-从键盘输入一个数字(不限位数),用循环语句编程判断并输出这个数字的位数

问题描述 从键盘输入一个数字(不限位数),用循环语句编程判断并输出这个数字的位数 从键盘输入一个数字(不限位数),用循环语句编程判断并输出这个数字的位数 解决方案 我用java不过逻辑都一样 int n = 987878976;//正是是从键盘接收的数字,处理后的数字. int count = 0;//保存数字的位数 while(n>=1){ count++; n = n/10; } //输出count就可以了 解决方案二: #include <iostream> using names