C#实现读取指定盘符硬盘序列号的方法

本文实例讲述了C#实现读取指定盘符硬盘序列号的方法。分享给大家供大家参考,具体如下:

using System;
using System.IO;
using System.Runtime.InteropServices;
using System.Text;
using Microsoft.Win32;
namespace Wjb.ReadOrWriteIniAndReg
{
/**/////// 读取指定盘符的硬盘序列号
///
public class HardDiskVal
{
[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
);
/**////
/// 获得盘符为drvID的硬盘序列号,缺省为C
///
///
///
public string HDVal(string drvID)
{
const int MAX_FILENAME_LEN = 256;
int retVal = 0;
int a =0;
int b =0;
string str1 = null;
string str2 = null;
int i = GetVolumeInformation(
drvID + @":\",
str1,
MAX_FILENAME_LEN,
ref retVal,
a,
b,
str2,
MAX_FILENAME_LEN
);
return retVal.ToString();
}
public string HDVal()
{
const int MAX_FILENAME_LEN = 256;
int retVal = 0;
int a =0;
int b =0;
string str1 = null;
string str2 = null;
int i = GetVolumeInformation(
"c:\\",
str1,
MAX_FILENAME_LEN,
ref retVal,
a,
b,
str2,
MAX_FILENAME_LEN
);
return retVal.ToString();
}
}

更多关于C#相关内容感兴趣的读者可查看本站专题:《C#窗体操作技巧汇总》、《C#常见控件用法教程》、《WinForm控件用法总结》、《C#程序设计之线程使用技巧总结》、《C#操作Excel技巧总结》、《C#中XML文件操作技巧汇总》、《C#数据结构与算法教程》、《C#数组操作技巧总结》及《C#面向对象程序设计入门教程》

希望本文所述对大家C#程序设计有所帮助。

(0)

相关推荐

  • C#利用win32 Api 修改本地系统时间、获取硬盘序列号

    C#利用win32 Api 修改本地系统时间.获取硬盘序列号,可以用于软件注册机制的编写! 复制代码 代码如下: using System; using System.Collections.Generic; using System.Text; using System.Runtime.InteropServices; namespace Fengyun {     public class Win32     {         #region 修改本地系统时间         [DllIm

  • C#获取硬盘序列号的问题小结

    先给大家描述下问题的来龙去脉. 具体问题是这样的:我用下面这段获取硬盘型信息的代码做成的exe文件,在机子上测试的时候,出现直接双击运行和用管理员身份运行结果不一样的情况,这个问题该怎么解决? public static String GetHardWareId() { String num = null; List<String> hdids = new List<string>(); ManagementClass mc = new ManagementClass("

  • 用C#获取硬盘序列号,CPU序列号,网卡MAC地址的源码

    privatestring[]GetMoc() { string[]str=newstring[3]; ManagementClassmcCpu=newManagementClass("win32_Processor"); ManagementObjectCollectionmocCpu=mcCpu.GetInstances(); foreach(ManagementObjectminmocCpu) { str[0]=m["ProcessorId"].ToStrin

  • C#实现读取指定盘符硬盘序列号的方法

    本文实例讲述了C#实现读取指定盘符硬盘序列号的方法.分享给大家供大家参考,具体如下: using System; using System.IO; using System.Runtime.InteropServices; using System.Text; using Microsoft.Win32; namespace Wjb.ReadOrWriteIniAndReg { /**/////// 读取指定盘符的硬盘序列号 /// public class HardDiskVal { [Dll

  • java文件操作练习代码 读取某个盘符下的文件

    复制代码 代码如下: import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.IOException;import java.io.InputStream;import java.io.Reader; public class IORea

  • 用批处理实现映射盘网络盘为固定盘符,请更改冲突的硬盘盘符

    以前在CSDN上提交的FAQ,不能通过搜索引擎来搜索CSDN的FAQ,找了好一会才找到.现CSDN的FAQ只有CSDN用户才能正常访问,固转到BLOG. http://faq.csdn.net/FAQUnfurl.aspx?id=216232 Q:现有50台电脑需要映射一网络驱动,网络映射盘必须为F盘.问题是目前有部分电脑已有本地F盘,需要把本地的F盘的盘符更换成J后,再映射网络驱动到F盘.由于电脑多,故想用批处理文件解决. A:---------------------------------

  • jsp编程获取当前目录下的文件和目录及windows盘符的方法

    本文实例讲述了jsp编程获取当前目录下的文件和目录及windows盘符的方法.分享给大家供大家参考,具体如下: (一)获取当前目录下的文件和目录 知识点 1 file对象的应用 2 listFiles()方法 3 isDirectory()方法,isFile()方法 判断是否为目录或是文件 4转换字符串方法toString (1)创建一个file对象dir, 然后用listFiles()方法返回当前目录下所有文件 String path=request.getRealPath("/")

  • Vista下双击盘符不能打开的处理技巧

    Windows Vista操作系统中你遇到过双击盘符不能打开的问题了吗?下面我们就告诉大家解决方法. 一.打开"文件"类型的文件需要该程序 键入要使用的可执行文件:C: 说明:这类病情症状并不是唯一的,无法找到的内容可能不一样.有时可能是"Windows无法找到setup.exe"或显示"控制面版". 这是因为病毒在驱动器下面写入了一个AutoRun.inf文件. 解决方法:(以D盘为例): 开始---运行---cmd(打开命令提示符) (也可以

  • C#检测移动硬盘并获取移动硬盘盘符的方法

    网上找了很久关于C#检测移动硬盘并获取盘符的代码但没能找到,所以只能自己解决了 C#获取所有硬盘 var arr = DriveInfo.GetDrives(); 得出的所有磁盘,发现对于移动硬盘,DriveType 不是 Removable 类型,而是 Fixed 枚举类型. C#检测移动硬盘,网上找了很久,没有现成正确的代码,只有自己想办法了. 代码如下: public static List<string> GetListDisk() { List<string> lstDi

  • .properties文件读取及占位符${...}替换源码解析

    前言 我们在开发中常遇到一种场景,Bean里面有一些参数是比较固定的,这种时候通常会采用配置的方式,将这些参数配置在.properties文件中,然后在Bean实例化的时候通过Spring将这些.properties文件中配置的参数使用占位符"${}"替换的方式读入并设置到Bean的相应参数中. 这种做法最典型的就是JDBC的配置,本文就来研究一下.properties文件读取及占位符"${}"替换的源码,首先从代码入手,定义一个DataSource,模拟一下JDB

  • javascript 硬盘序列号+其它硬件信息

    看了看别的资料有提取CPU,MAC的现成代码却没有硬盘序列号,找了好久才找到提取硬盘序列号的参数.于是自己给补上了. <html> <head> <title>提取硬盘序列号</title> <script> function disk() {//硬盘序列号 信息 var locator = new ActiveXObject ("WbemScripting.SWbemLocator"); var service = loca

  • 批处理bat命令 获取当前盘符和当前目录和上级目录的代码

    批处理命令获取当前盘符和当前目录 当前盘符:%~d0 当前路径:%cd% 当前执行命令行:%0 当前bat文件路径:%~dp0 当前bat文件短路径:%~sdp0 测试 echo 当前盘符:%~d0 echo 当前路径:%cd% echo 当前执行命令行:%0 echo 当前bat文件路径:%~dp0 echo 当前bat文件短路径:%~sdp0 效果如下图所示 可以用echo %cd%进行打印测试 windows 的快捷方式不能使用相对路径.可以用批处理文件获取相对路径. set pa=%cd

随机推荐