大家好,我有一个关于XP下用DDK开发USB程序的问题请教一下,我搜索了一下网络上的文章,没有找到一片详细的介绍这个问题的文章,所以也想借此机会,在网上留下一篇详细介绍Windows下开发USB程序的文章。
问题描述:
操作系统:windows XP professional SP2
DDK: DDK for WinXP
开发工具:Visual studio 2003 中的VC.net
需要实现的功能,向指定的USB设备写入指定内容和读取指定字节的内容。
硬件:USB设备硬件已经存在,通讯细节文档也存在。现在我们要做的是怎么在上面平台下构建开发环境,并完成指定的功能。我目前遇到的问题是:
1、安装VS 2003没有问题,已经开发过几个项目。
2、网上下载DDK后安装于D盘,并在DDK的win xp checked build enviroment下执行命令:build
3、从网上下载相应的USB实例,用VC.net打开后,修改工程包含头文件目录:D:\WINDDK\2600\inc\wxp
包含lib文件目录:D:\WINDDK\2600\lib\wxp\i386   其他保持默认设置,
编译不能通过,错误提示:d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\ShlObj.h(1763) : 
error C2061: 语法错误 : 标识符“IShellItem”
4、下载多个网上例程都会有同样的错误提示。不知怎么解决。请高手,专家指教

解决方案 »

  1.   

    #include <shobjidl.h>编应用程序为什么用DDK?如果需要DDK中的一些定义,只要把定义Copy到代码中来用就可以了。
      

  2.   

    试试把DDK的inc目录,放到vc的头文件搜索顺序的最前面。
      

  3.   

    ddk的头文件与sdk的头文件不兼容,要确定优先级,放到前面试试
      

  4.   

    将DDK中的D:\WINDDK\2600\inc\wxp 
    所有文件拷贝到vc7中的include目录下,问题依旧
    将D:\WINDDK\2600\lib\wxp\i386
    中的所有文件拷贝到vc7中的lib目录下,问题依旧
      

  5.   

    这个问题无非就是在vs下开发usb驱动,比较麻烦,我最近也是一直在学习中,愿意和lz共进退。
      

  6.   

    非常郁闷,网上的很多例程都不能编译通过,一点进展都没有……极度痛苦ing
      

  7.   

    唉,CSDN没落了嘛……这个问题挂了几天了,都没有一点进展……郁闷ing
      

  8.   

    应用程序不需要DDK啊, DDK用来开发驱动的我做DDK是从 开始->程序-> Development Kits 里面进去运行
    Windows XP Checked Build Environment   (checked就是debug版编译的意思)
    其启动的终端窗口中会自带一些DDK开发需要的环境设置,可能你的头文件就没问题了build -cZ
      

  9.   

    "其启动的终端窗口中会自带一些DDK开发需要的环境设置,可能你的头文件就没问题了 "
    这句话是什么意思,没有明白!
    build之后会显示done
    然后就回调命令行。没有所谓的配置说明……
    问题依旧只是做usb的输入输出操作,不能算是纯粹的驱动开发。
      

  10.   

    项目在vc6.0 sp6 中可以编译通过
      

  11.   

    IShellItem是XP才有的。你要设置目标平台为XP或者更高版本。关于怎么设置windows头文件的目标平台,参考SDK文档
      

  12.   

    安装一个DriverStudio 3.2什么问题都解决了。
      

  13.   

    把.h与.lib拷贝过来就可以用了。
      

  14.   

    在sdk文档里面搜索using windows headers
      

  15.   

    why bother use Visual Studio? WDK+source insight is good enough.