| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2438 人关注过本帖
标题:【求助】C#获取硬盘物理ID
只看楼主 加入收藏
michael_362
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2008-10-29
结帖率:100%
收藏
已结贴  问题点数:2 回复次数:11 
【求助】C#获取硬盘物理ID
C#如何获取硬盘物理ID,最好能给出程序及解释!

【补充】
获取硬盘物理ID后,如何修改并保存!最后能提供原理、程序及解释!谢谢,各位大侠!

[ 本帖最后由 michael_362 于 2009-8-19 17:44 编辑 ]
搜索更多相关主题的帖子: 物理 硬盘 
2009-08-19 11:31
yangglemu
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:273
专家分:521
注 册:2006-9-15
收藏
得分:1 
[DllImport("kernel32.dll")]
        private static extern int GetVolumeInformation(
        string lpRootPathName,
        string lpVolumeNameBuffer,
        int nVolumeNameSize,
        ref int lpVolumeSerialNumber,
        int lpMaximumComponentLength,
        int lpFileSystemFlags,
        string lpFileSystemNameBuffer,
        int nFileSystemNameSize
        );
以上是此函数原型

为方便使用,稍微包装一下:
public static string GetDriverNumber(string driver)
        {
            const int MAX_FILENAME_LEN = 256;
            int retVal = 0;
            GetVolumeInformation(
            driver + @":\",
            null,
            MAX_FILENAME_LEN,
            ref retVal,
            0,
            0,
            null,
            MAX_FILENAME_LEN
            );
 
            return retVal.ToString("X");
        }
这个API中的各参数意义应该能望文生意了(提示一下,那个 ref 的整型变量里就存放着SerialNumber,
系统用唯一的一个整数类型来标识各个分区盘(可以是负数)
包装后的GetDriverNumber函数更适合在C#中使用 GetDriverNumber("C"), GetDriverNumber("D")

试着挣个威望!
2009-08-19 16:09
jedypjd
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:9
帖 子:1096
专家分:4969
注 册:2009-7-27
收藏
得分:0 
学习了

天涯无岁月,歧路有风尘,百年浑似醉,是非一片云
2009-08-19 17:16
lynn5029
Rank: 1
等 级:新手上路
帖 子:6
专家分:6
注 册:2009-7-23
收藏
得分:0 
正在学习中。
2009-08-20 11:02
wenlovejob
Rank: 2
来 自:北京
等 级:论坛游民
帖 子:2
专家分:20
注 册:2009-8-20
收藏
得分:0 
学习中···
那获取网卡上的IP呢
2009-08-20 11:54
yangglemu
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:273
专家分:521
注 册:2006-9-15
收藏
得分:1 
也可以获取网卡的MAC地址(也是唯一的)
using
NetworkInterface[] ntif = NetworkInterface.GetAllNetworkInterfaces();            
                string temp = ntif[0].GetPhysicalAddress().ToString();
                richTextBox1.AppendText(temp + "\n");
这个temp字符串就是网卡的MAC地址         

试着挣个威望!
2009-08-20 22:25
xudongcsharp
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:129
专家分:156
注 册:2009-5-31
收藏
得分:0 
2009-08-21 10:59
ljc_zy
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:56
专家分:131
注 册:2009-7-14
收藏
得分:0 
在c#中获取硬盘信息最简单的方法还是用WMI
具体见http://www.

恋恋花事 www.
2009-08-21 22:40
winnerforeve
Rank: 2
等 级:论坛游民
帖 子:32
专家分:83
注 册:2009-9-7
收藏
得分:0 
'

QQ1104494338
www.
www.
2009-09-07 14:43
mahu8766
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2009-9-7
收藏
得分:0 
学习
2009-09-07 19:24
快速回复:【求助】C#获取硬盘物理ID
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017104 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved