开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

楼主: ˉ黑色.小亮
收起左侧

[已解决] 获取可移动磁盘序列号 - 300精币求助

[复制链接]
结帖率:100% (11/11)
 楼主| 发表于 2011-5-28 13:11:53 | 显示全部楼层   陕西省西安市
SKY 发表于 2011-5-28 13:05
还有一个成品  网上淘到的

你这个是应用程序, 而且我现在用的就是这个API, U盘格式化后, 序列号就变了,你可以尝试下.
回复

使用道具 举报

结帖率:100% (1/1)
发表于 2011-5-28 13:12:57 | 显示全部楼层   广东省韶关市
本帖最后由 ˉ黑色.小亮 于 2011-5-28 14:24 编辑
ˉ黑色.小亮 发表于 2011-5-28 13:10
不好意思, 你这个我之前找到过 也看过了, 我只用了他里面的删除U盘, 其他的都没用,  不好意思.

里面有两个的 文件夹是一个  还有一个是文件夹外面的源码
外面那个是获取注册表的, 在格式化后, 需要重新注册, 那个就变了.
回复

使用道具 举报

结帖率:40% (4/10)
发表于 2011-5-28 13:17:11 | 显示全部楼层   广东省深圳市
   等待高手~~
回复

使用道具 举报

结帖率:36% (4/11)
发表于 2011-5-28 14:13:18 | 显示全部楼层   浙江省丽水市
钱啊

我的神啊  高手啊
回复

使用道具 举报

结帖率:100% (11/11)

签到天数: 1 天

 楼主| 发表于 2011-5-28 15:22:24 | 显示全部楼层   陕西省西安市
就不能出现一个人帮忙解决下?
回复

使用道具 举报

结帖率:100% (11/11)

签到天数: 1 天

 楼主| 发表于 2011-5-28 23:56:33 | 显示全部楼层   陕西省西安市
还是没人? 先把帖子顶上去再说.
回复

使用道具 举报

发表于 2011-5-29 00:14:17 | 显示全部楼层   湖北省武汉市
ˉ黑色.小亮 发表于 2011-5-28 23:56
还是没人? 先把帖子顶上去再说.

好像 chao级模块 和精易模块上有
回复

使用道具 举报

结帖率:13% (2/15)

签到天数: 2 天

发表于 2011-5-29 11:49:01 | 显示全部楼层   湖南省岳阳市
偶有个,自动判断U盘插入和拔出,自动读取序列号
回复

使用道具 举报

结帖率:67% (2/3)
发表于 2011-5-29 13:01:34 | 显示全部楼层   广东省佛山市
本帖最后由 fsjoe 于 2011-5-29 15:37 编辑

GetVolumeInformation 取得的只是卷的序列号。是高级格式化后生成的。我想你是要取得U盘硬件的Device ID,中文好象是设备范例ID。
我在网上查找了一下。找到这么一段 ,希望对你有用,如果还是不能解决请与我联系,我再做个例程。以下是复制内容:
----------------------------------------------------------------
SetupDiGetClassDevs枚举设备
网络上有段代码是用SetupDiGetClassDevs枚举U盘对应的盘符。代码中判断设备是否是u盘的办法是首先用GUID_DEVINTERFACE_VOLUME调用SetupDiGetClassDevs后再SetupDiEnumDeviceInterfaces,SetupDiGetDeviceInterfaceDetail……最后还需要和事先传进来的Device ID比较。

实际上,经过试验,我找到另外一个简单一点的办法:

首先是用SetupDiGetClassDevs枚举GUID_DEVINTERFACE_USB_DEVICE,找到所有USB设备。然后用SetupDiGetClassDevs枚举GUID_DEVINTERFACE_VOLUME,找到所有VOLUME后依次递归取其Parent,直到到达HTREE\ROOT\0或者某个Parent等于前面得到的USB设备为止。

值得注意的是,GUID_DEVINTERFACE_USB_DEVICE、GUID_DEVINTERFACE_DISK枚举出的设备只有一个Child,就是自身。

下面是SetupDiGetClassDevs在我机器上的一些结果:

Volume

{4D36E965-E325-11CE-BFC1-08002BE10318}
IDE\CDROMHL-DT-ST_CD-ROM_GCR-8523B_______________1.02____\5&4DE3C4&0&0.0.0
{4D36E965-E325-11CE-BFC1-08002BE10318}
SCSI\CDROM&VEN_GENERIC&PROD_DVD-ROM&REV_1.0\2&12B1DE20&0&000
{71A27CDD-812A-11D0-BEC7-08002BE2092F}
STORAGE\REMOVABLEMEDIA\7&35EAC781&0&RM
{71A27CDD-812A-11D0-BEC7-08002BE2092F}
STORAGE\VOLUME\1&30A96598&0&SIGNATURE8150814OFFSET27FCC3000LENGTH27FCB3400
{71A27CDD-812A-11D0-BEC7-08002BE2092F}
STORAGE\VOLUME\1&30A96598&0&SIGNATURE8150814OFFSET4FF97E200LENGTH4510E1E00
{71A27CDD-812A-11D0-BEC7-08002BE2092F}
STORAGE\VOLUME\1&30A96598&0&SIGNATURE8150814OFFSET7E00LENGTH27FCB3400

Disk

{4D36E967-E325-11CE-BFC1-08002BE10318}
IDE\DISKST340015A_______________________________3.15____\4C35484158483150202020202020202020202020
{4D36E967-E325-11CE-BFC1-08002BE10318}
USBSTOR\DISK&VEN_GENERIC&PROD_USB_FLASH_DRIVE&REV_1.00\6&2ECD5725&1

USB

{36FC9E60-C465-11CF-8056-444553540000}
USB\VID_1043&PID_8012\5&1E5B5D9&0&5

PARTITION

{71A27CDD-812A-11D0-BEC7-08002BE2092F}
STORAGE\REMOVABLEMEDIA\7&35EAC781&0&RM

下面是一些VOLUME的父系层次:

{4D36E965-E325-11CE-BFC1-08002BE10318}
IDE\CDROMHL-DT-ST_CD-ROM_GCR-8523B_______________1.02____\5&4DE3C4&0&0.0.0
PCIIDE\IDECHANNEL\4&14E96D70&0&1
PCI\VEN_8086&DEV_24DB&SUBSYS_300E103C&REV_02\3&13C0B0C5&0&F9
ACPI\PNP0A03\1
ACPI_HAL\PNP0C08\0
ROOT\ACPI_HAL\0000
HTREE\ROOT\0

{4D36E965-E325-11CE-BFC1-08002BE10318}
SCSI\CDROM&VEN_GENERIC&PROD_DVD-ROM&REV_1.0\2&12B1DE20&0&000
PCI\D347PRT\0000
ROOT\SYSTEM\0003
HTREE\ROOT\0

{71A27CDD-812A-11D0-BEC7-08002BE2092F}
STORAGE\REMOVABLEMEDIA\7&35EAC781&0&RM
USBSTOR\DISK&VEN_GENERIC&PROD_USB_FLASH_DRIVE&REV_1.00\6&2ECD5725&1
USB\VID_1043&PID_8012\5&1E5B5D9&0&5
USB\ROOT_HUB20\4&386BDE3F&0
PCI\VEN_8086&DEV_24DD&SUBSYS_300E103C&REV_02\3&13C0B0C5&0&EF
ACPI\PNP0A03\1
ACPI_HAL\PNP0C08\0
ROOT\ACPI_HAL\0000
HTREE\ROOT\0

{71A27CDD-812A-11D0-BEC7-08002BE2092F}
STORAGE\VOLUME\1&30A96598&0&SIGNATURE8150814OFFSET27FCC3000LENGTH27FCB3400
ROOT\FTDISK\0000
HTREE\ROOT\0

{71A27CDD-812A-11D0-BEC7-08002BE2092F}
STORAGE\VOLUME\1&30A96598&0&SIGNATURE8150814OFFSET4FF97E200LENGTH4510E1E00
ROOT\FTDISK\0000
HTREE\ROOT\0

{71A27CDD-812A-11D0-BEC7-08002BE2092F}
STORAGE\VOLUME\1&30A96598&0&SIGNATURE8150814OFFSET7E00LENGTH27FCB3400
ROOT\FTDISK\0000
HTREE\ROOT\0

对照一下可以发现以下值得注意的地方:

1、IDE硬盘中VOLUME的设备ID包括了VOLUME的位置、长度
2、IDE硬盘中VOLUME的Parents中不包括该硬盘的Device ID
3、U盘中VOLUME的Parents中包括该U盘的Device ID
4、U盘中VOLUME的Device ID里有“REMOVABLEMEDIA”标记



回复

使用道具 举报

结帖率:100% (11/11)

签到天数: 1 天

 楼主| 发表于 2011-6-3 12:38:05 | 显示全部楼层   陕西省西安市
易高手 发表于 2011-5-29 15:27
楼主,给你这个,是你想要的!!!!300精币呀,对我很重要的,楼主加油!

目前我刚从北京出差回来. 我回家测试后, 正常的话立马给你, 另外谢谢您.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表