咨询 huhuyo,如何用CVI编程实现关断U盘
<P>我正好也想做一个这样的程序,但你的源码编译通不过;请问需要包含什么头文件啊?我把</P><P>#include <Windows.h> </P>
<P>#include <setupapi.h> </P>
<P>加上了,再把Win2000DDk装上,但好象即使加上里面的一些头文件也还是编译通不过,请问还需怎么做?可否把源码发给我?谢谢!E-mail:vfengb@126.com.</P> <P>你还需要加上下面几个头文件.和hid.lib.</P><P>#include "hidsdi.h" </P><P>#include <regstr.h>
#include <winbase.h></P> <P>还是不行啊,我拷屏发给你了(huhuyo@163.com),附上源码,麻烦你帮我看看。</P><P>另外,这段代码可以把U盘安全的删除,但也把USB鼠标删除了,请问有没有办法只把U盘删除呢?如果U盘插上时应该怎么检测到,可以知道刚插上的U盘盘符吗?因为我还想往优盘里考几个文件。(我的程序的目的是,插上优盘系统自动检测到,把指定的几个文件拷贝到优盘,再把优盘安全删除。这个涉及到驱动开发部分,以前没做过还请多多指教!如果能发给我几个例子就更好了,再次感谢!)</P> 如果要判断是什么USB设备插入,那需要知道该设备的的设备ID,与厂商ID等信息. 还有点小问题就是,“Undefined symbol '_GUID_CLASS_USB_DEVICE' reference in TestUSB.c”这个错误还是存在,如果这个参数变为NULL,的话没有错误提示,但执行目的达不到,其他的几个错误只需要把setupapi.lib加到工程立即刻,但对于这个错误怎么解决啊?谢谢,盼复!!! <P>增加以下宏定义语句.</P><P>#define GUID_CLASS_USB_DEVICE GUID_DEVINTERFACE_USB_DEVICE</P> <P>我增加了如下的定义(用guidgen.exe生成的):</P><P>// {9A8BED8C-2AC0-41d2-AFBB-A21ABE6CC6D3}
DEFINE_GUID(GUID_DEVINTERFACE_USB_DEVICE,0x9a8bed8c, 0x2ac0, 0x41d2, 0xaf, 0xbb, 0xa2, 0x1a, 0xbe, 0x6c, 0xc6, 0xd3);</P><P>#define GUID_CLASS_USB_DEVICE GUID_DEVINTERFACE_USB_DEVICE</P><P>但还是提示</P><P>Undefined symbol '_GUID_DEVINTERFACE_USB_DEVICE' Referenced in "TestUsb.c"</P><P>是不是需要增加什么Lib文件啊?我已经增加了cfgmgr32.lib 和setupapi.lib.</P><P>谢谢!</P> <P>增加如下头文件:</P><P>#include <Windows.h>
#include <usbioctl.h>
#include <setupapi.h>
#include <cfgmgr32.h> </P><P>提示 错误如下:</P><P>“Undefined symbol '_GUID_CLASS_USB_DEVICE' reference in TestUSB.c”</P><P>“Undefined symbol '_CM_Get_DevNode_Status ' reference in TestUSB.c”</P><P>“Undefined symbol '_SetupDiEnumDeviceInfo' reference in TestUSB.c”</P><P>“Undefined symbol '_SetupDiDestroyDeviceInfoList' reference in TestUSB.c”</P><P>“Undefined symbol '_CM_Request_Device_Eject' reference in TestUSB.c”</P> 不好意思,已经解决了,不过还是谢谢!
页:
[1]