`
nathan09
  • 浏览: 155482 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

获取驱动器序列号

 
阅读更多
#include<stdafx.h>
#include
<Windows.h>
#include
<iostream>
#include
<string>

//usingnamespacestd;

voidfindAllDrivers(void)
...{
std::cout
<<"AllDriversarelistedbelow Youcantypeoneofthemtoseeit'sID:"
<<std::endl;
DWORDdwNumBytesForDriverStrings;

HANDLEhHeap;
wchar_t
*lp;

dwNumBytesForDriverStrings
=GetLogicalDriveStrings(0,NULL)*sizeof(TCHAR);

if(dwNumBytesForDriverStrings!=0)
...{
hHeap
=GetProcessHeap();
lp
=(wchar_t*)HeapAlloc(hHeap,HEAP_ZERO_MEMORY,dwNumBytesForDriverStrings);
GetLogicalDriveStrings(HeapSize(hHeap,
0,lp),lp);

while(*lp!=0)
...{
std::wcout
<<lp<<std::endl;
lp
=wcschr(lp,0)+1;
}

}

else
std::cout
<<"Can'tUseTheFunctionGetLogicalDriveStrings!"<<std::endl;
}

intmain(void)
...{
findAllDrivers();

std::cout
<<"TypeaRootPathNameoftheDrivers(formatX:/)>:"<<std::flush;

std::wstringstrRootPath;
while(std::wcin>>strRootPath)
...{
LPCTSTRlpRootPath
=strRootPath.c_str();
LPTSTRlpVolumeNameBuffer
=newwchar_t[12];
DWORDnVolumeNameSize
=12;
DWORDVolumeSerialNumber;
DWORDMaxinumComponentLength;
DWORDFileSystemFlags;
LPTSTRlpFileSystemNameBuffer
=newwchar_t[10];
DWORDnFileSystemNameSize
=10;


GetVolumeInformation(lpRootPath,lpVolumeNameBuffer,nVolumeNameSize,
&VolumeSerialNumber,&MaxinumComponentLength,&FileSystemFlags,
lpFileSystemNameBuffer,nFileSystemNameSize);

std::wcout
<<"驱动器"<<strRootPath<<"的序列号为:"
<<VolumeSerialNumber<<std::endl;

std::wcout
<<"FileSystemType:"<<lpFileSystemNameBuffer<<std::endl;

std::cout
<<"TypeaRootPathNameoftheDrivers(formatX:/)>:"<<std::flush;
}


}
分享到:
评论

相关推荐

    VisualC 实效编程 69 获取驱动器序列号

    VisualC 实效编程 69 获取驱动器序列号VisualC 实效编程 69 获取驱动器序列号VisualC 实效编程 69 获取驱动器序列号VisualC 实效编程 69 获取驱动器序列号VisualC 实效编程 69 获取驱动器序列号VisualC 实效编程 69 ...

    获取驱动器序列号VC/MFC

    本文将详细介绍如何在VC/MFC环境下获取驱动器序列号。 首先,我们需要了解Windows API,这是一个由微软提供的函数库,包含了操作系统的核心功能。在VC/MFC中,我们主要通过调用API函数来实现与硬件的交互,包括获取...

    获得驱动器序列号

    在Windows操作系统中,获取驱动器序列号的方法有多种,以下是一些常用的技术实现: 1. 使用命令行工具: - **CMD命令**:在命令提示符中,可以使用`wmic`(Windows Management Instrumentation Command-line)工具...

    85获得驱动器序列号

    在IT领域,获取驱动器序列号是一项常见的任务,特别是在软件开发和系统管理中。VB(Visual Basic)是一种广泛使用的编程语言,尤其适合开发Windows应用程序。本文将深入探讨如何使用VB来获取驱动器序列号,以及相关...

    VB读出驱动器序列号源码

    在VB中,获取驱动器序列号通常涉及到Windows API(应用程序接口)的调用,因为VB本身并不直接提供获取硬盘序列号的内建函数。API函数`GetVolumeInformation`是其中常用的一个,它可以提供包括驱动器序列号在内的多种...

    VB获取磁盘名称、序列号并修改驱动器名称.rar

    在VB中,可以使用内置的API函数来访问操作系统底层的功能,比如获取磁盘信息、修改驱动器名称以及读取磁盘序列号。本压缩包文件“VB获取磁盘名称、序列号并修改驱动器名称.rar”显然是一个VB源码示例,用于展示如何...

    Delphi7.0 读取硬盘驱动器序列号程序范例.rar

    Delphi读取硬盘驱动器序列号的源代码范例, 一个读取硬盘驱动器序列号的功能的 DLL Delphi 调用端. 一个简单的查看 硬盘驱动器信息。还有一个导出函数 读取硬盘序列号。相关代码参考如下:  const  PDLL = '...

    C++获取硬盘序列号和CPUID代码

    测试可用的获取硬盘序列号和CPUID的C++代码,包含windows和linux操作系统。 注意:windows vista以上系统需要管理员权限才能获取到硬盘序列号; 做了raid0磁盘阵列的硬盘也不能获取到硬盘序列号,欢迎有相关技术的...

    读出驱动器序列号,可以制作加密安装盘.zip

    "读出驱动器序列号,可以制作加密安装盘.zip" 这个压缩包文件内容涉及到两个主要的知识点:驱动器序列号的读取和加密安装盘的制作。 首先,驱动器序列号是一个计算机硬件特有的标识符,通常用于区分不同的硬盘、...

    VB6.0获取硬盘序列号的代码

    `GETVERSIONOUTPARAMS` 结构体用于获取驱动器的版本信息,而 `IDEREGS` 结构体用于指定 IDE 驱动器的寄存器值。 3. 函数声明部分:声明了两个函数,分别是 `GetDiskVolume()` 和 `GetHardDiskInfo()`。`...

    VB.NET 获取U盘的物理序列号_获取物理磁盘_vb.net获取物理磁盘序列号_

    每个硬盘驱动器都有一个唯一的物理序列号,它是由制造商分配的,用于标识硬盘的身份。这个序列号存储在硬盘的固件中,不会因为操作系统的变化而改变,是识别硬件的重要依据。 在VB.NET中,我们可以利用Windows API...

    读取硬盘驱动器序列号 Delphi调用

    一个读取硬盘驱动器序列号的功能的 DLL Delphi 调用端. 一个简单的查看 硬盘驱动器信息 还有一个导出函数 读取硬盘序列号. Web: www.icy6.com 如有问题 在我博客关于 内查看联系方式 或者 直接 icy2010@...

    wmi方式获取逻辑驱动器对应的物理硬盘及硬盘序列号

    主要用于wmi方式获取c盘序列号,多用于生成硬件识别码,wmi可以获取很多设备信息,可以扩展到其他设备。但是wmi速度慢,而且有一定的局限性,有些环境获取不了,比如虚拟机。另一种更底层的方式是使用...

    VB6.0获取U盘物理序列号

    这段代码通过`Win32_DiskDrive`类查询所有接口类型为USB的磁盘驱动器,然后检查其介质类型是否为14(表示可移动磁盘),如果是,则显示其序列号。 接下来,我们要将获取到的序列号进行MD5加密。MD5(Message-Digest...

    c++ 获取硬盘序列号

    这段代码会查找指定驱动器(例如"C:")的硬盘序列号。请注意,由于访问注册表涉及到系统权限,因此在运行此代码时需要相应的权限。 在Linux系统中,获取硬盘序列号的方法有所不同。我们可以使用`udev`或`libudev`库...

    EXCEL VBA获取电脑硬盘的序列号

    3. **调用API**:然后在VBA的Sub或Function中,调用`GetVolumeInformation`函数,并传入适当的参数,如驱动器号(例如"C:\")。 ```vba Dim volSerial As Long Dim volName As String * 256 Dim volInfo As Long ...

    获取磁盘序列号程序(vb6.0程序)

    `"C:\"`参数表示我们要查询的驱动器。如果函数执行成功,`SerialNumber`变量将包含磁盘序列号,可以通过`MsgBox`显示给用户。 在实际开发中,可能需要处理多个磁盘,或者将获取的序列号用于更复杂的应用场景,例如...

    VC6.0++如何获得磁盘驱动器的序列号

    在提供的压缩包文件"DrvSrlNmbr"中,可能包含了具体的示例代码或者已经编译好的可执行文件,用于演示如何获取硬盘驱动器序列号的过程。使用者可以解压后查看源代码或运行程序以了解更多细节。 总结来说,通过使用...

    易语言获取电脑各种硬件序列号

    首先,我们要明白电脑中的各种硬件可能都有各自的序列号,如CPU(中央处理器)、硬盘、主板、显卡等。这些序列号是硬件制造商为了唯一标识每一块硬件而设置的,通常可以在硬件上找到,也可以通过系统接口获取。 1. ...

    get-driver-serial.rar_visual c

    获取驱动器序列号在某些情况下非常有用,例如软件授权、硬件故障排查或数据恢复。 在Visual C++中,我们可以使用Windows API(应用程序接口)来访问系统信息,包括驱动器序列号。Windows API提供了丰富的函数库,...

Global site tag (gtag.js) - Google Analytics