`
nathan09
  • 浏览: 145674 次
  • 性别: 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

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

    VB获取并修改驱动器名称,并检索一个磁盘驱动器的序列号,改变一个磁盘驱动器的名字。程序演示截图如下:

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

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

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

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

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

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

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

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

    get-driver-serial.rar_visual c

    获取驱动器序列号

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

    如何磁盘驱动器的序列号 ,往往用在程序的加密和解密工作中,希望本文能对大家有帮助

    Delphi 获取网卡、硬盘、CPU信息 设置U盘、移动硬盘只读属性.rar

    U盘、移动存储、硬盘设备只读属性设置Delphi代码,获取网卡、硬盘、CPU硬件信息,获取硬盘驱动器信息。... InfoID =1 获取驱动器序列号 InfoID =2 获取卷标  获取硬盘物理序列号、枚举当前安装的网络适配器

    VC++6.0实效编程百例

    63·获取驱动器序列号 64·获取磁盘空间数据 65·判别并定位到光驱(软驱) 66·嫡归法遍历磁盘目录 67·获得文件属性 68·删除不为空的目录 69·快速检索指定文件 70·拷贝,删除和移动文件 71·读写INI文件 72·...

    Visual C++实效编程百例光盘源代码

     实例63 获取驱动器序列号   实例64 获取磁盘空间数据   实例65 判别并定位到光驱(软驱)   实例66 递归法遍历磁盘目录   实例67 获得文件属性   实例68 删除不为空的目录   实例69 快速检索指定...

    Visuai C++基础实践训练7

    Visuai C++基础实践训练7,包括获取驱动器序列号、获取磁盘空间数据、判别并定位到光驱(软驱)、递归法遍历磁盘目录、获得文件属性、 删除不为空的目录、 快速检索指定文件、拷贝、删除和移动文件、读写INI文件、...

    VB获取机器码——源码

    【【VB获取机器码——源码】】 取得驱动器序列号\取得驱动器序列号.rar

    C++ 读取硬盘序列号、驱动类型、卷标等

    用C++封装好的一个类,用来读取硬盘序列号、驱动类型、卷标等。

    获取第一块磁盘的序列号.zip

    2021-09-26更新。当计算机有多块硬盘,或者有时候连接了U盘、移动硬盘,或者程序运行在虚拟机上,可以简单以第一块硬盘(通常是系统启动分区所在的硬盘)的硬件序列号作为计算机的硬件标识,详见...

    VC 键盘、鼠标、系统设备操作实例集.rar

    比如获取键盘按键的名称、获取键盘的类型、切换鼠标的左键和右键、获取键盘虚拟键的状态、获取驱动器的卷标、获取驱动器的空间信息、设置显示...虚拟键值、获取鼠标的按键数、获取物理内存参数、获取驱动器的序列号等...

    Delphi6编程大师 硬件与系统

    获取驱动器类型信息 获取文件的日期信息 监视剪贴板内容 检测INSERT、CAPSLOCK、NUMLOCK、SCROLLLOCK键的状态 检测磁盘容量 检测驱动器是否准备就绪 检测软盘或光盘是否变化 控制WINDOWS的关闭功能 启动屏幕保护程序...

    c# Windows系统操作方法汇总

    获取所有逻辑驱动器▲ 取消磁盘共享▲ 驱动器容量▲ 图标显示磁盘容量▲ 磁盘格式化▲ 打开控制面板的程序▲ 添加磁盘到托盘▲ 任务栏上不出现图标▲ 调用外部EXE文件▲ 关闭外部程序▲ 防止程序多次运行▲ 获取任务...

Global site tag (gtag.js) - Google Analytics