资源简介
一年后翻自己的大学毕业设计看看,感慨很多,花了两个月时间来写的,过了毕业设计就丢一边了,太浪费,所以决定拿出来跟大家分享。
我的博客是:http://blog.csdn.net/yuliyige 。
下载10分,请不要嫌多,毕竟花了很多心血,如果觉得要积分多,请绕道。

代码片段和文件信息
#include “commen.h“
#include “healthInfo.h“
#include “theDataRecoveryHead.h“
//////////////////////////////////////////////////////////////////////////
//获取逻辑驱动器信息
BOOL GetLogicalDriveInfo(LOGICALDRIVEINFO *logicalDriveInfochar logicalDriveNumberint phyDriveNumber)
{
HANDLE hDrive;
char path[128];
STORAGE_DEVICE_NUMBER number; //use this to get disk numbers
DWORD readed; // discard results
sprintf_s(path“\\\\.\\%c:“logicalDriveNumber);
hDrive=CreateFile(pathGENERIC_READ | GENERIC_WRITEFILE_SHARE_READ | FILE_SHARE_WRITE NULLOPEN_EXISTING0NULL);
if (hDrive == INVALID_HANDLE_VALUE) // cannot open the drive
{
CloseHandle(hDrive);
return FALSE;
}
if (DeviceIoControl(hDriveIOCTL_STORAGE_GET_DEVICE_NUMBERNULL0&numbersizeof(number)&readedNULL))
{
//如果不同一个磁盘,则返回FALSE
if ((number.DeviceNumber!=phyDriveNumber) || phyDriveNumber<0)
{
CloseHandle(hDrive);
return FALSE;
}
}
//OK有这个物理驱动器,而且属于同一个磁盘开始获取逻辑驱动器信息
logicalDriveInfo->szDrive=logicalDriveNumber;
//获取驱动器类型
sprintf_s(path“%c:\\“logicalDriveNumber);
logicalDriveInfo->uDriveType=GetDriveType(path);
//使用GetVolumeInformation获取
if(!GetVolumeInformation(
path
logicalDriveInfo->szDriveName
sizeof(logicalDriveInfo->szDriveName)
&logicalDriveInfo->dwSerialNumber
&logicalDriveInfo->dwMaximumComponentLength
&logicalDriveInfo->dwFileSystemFlags
logicalDriveInfo->dwFileSystem
sizeof(logicalDriveInfo->dwFileSystem)
))
{
CloseHandle(hDrive);
return FALSE;
}
//使用GetDiskFreeSpace获取信息
if (!GetDiskFreeSpace(
path
&logicalDriveInfo->dwSectorsPerCluster
&logicalDriveInfo->dwBytesPerSector
&logicalDriveInfo->dwNumberOfFreeCluters
&logicalDriveInfo->dwTotalNumberOfClusters
))
{
CloseHandle(hDrive);
return FALSE;
}
CloseHandle(hDrive);
return TRUE;
}
//////////////////////////////////////////////////////////////////////////
//读取物理驱动器信息,简短的
//使用DeviceIoControl获取硬件信息步骤:根据控制码(第二个参数),填充好输入
//参数,然后再定义输出参数,从输出参数里取信息,这些参数一般是结构体的。
BOOL GetPhysicalDriveInfoShort (PHYDRIVEINFOSHORT *pThePhyDriveInfoint iDrive)
{
HANDLE hPhysicalDriveIOCTL = 0;
BOOL OK=FALSE;
TCHAR driveName [32];
_stprintf_s(driveName_T(“\\\\.\\PhysicalDrive%d“)iDrive);
// 打开设备,获得物理磁盘句柄
hPhysicalDriveIOCTL = CreateFile (driveName 0FILE_SHARE_READ | FILE_SHARE_WRITE NULLOPEN_EXISTING 0 NULL);
if (hPhysicalDriveIOCTL != INVALID_HANDLE_VALUE)
{
STORAGE_PROPERTY_QUERY query;
DWORD cbBytesReturned = 0;
char buffer [10000];
memset ((void *) & query 0 sizeof (query));
query.PropertyId = StorageDeviceProperty;
query.QueryType = PropertyStandardQuery;
memset (buffer 0 sizeof (buffer));
if ( DeviceIoControl (hPhysicalDriveIOCTL IOCTL_STORAGE_QUERY_PROPERTY& querysizeof (query)& buffersizeof (buffer)& cbBytesReturned NULL) )
{
STORAGE_DEVICE_DEscriptOR * descrip = (
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 5647872 2013-11-09 20:27 0800360210 陈伟基 论文.doc
文件 128512 2012-05-27 12:50 0800360210 陈伟基 程序源代码\Debug\Robam Data Recovery.exe
文件 701208 2012-05-27 12:50 0800360210 陈伟基 程序源代码\Debug\Robam Data Recovery.ilk
文件 1108992 2012-05-27 12:50 0800360210 陈伟基 程序源代码\Debug\Robam Data Recovery.pdb
文件 60928 2012-05-22 17:06 0800360210 陈伟基 程序源代码\Release\Robam Data Recovery.exe
文件 437248 2012-05-22 17:06 0800360210 陈伟基 程序源代码\Release\Robam Data Recovery.pdb
文件 61011 2012-05-27 15:48 0800360210 陈伟基 程序源代码\TheGood\commen.cpp
文件 12704 2012-05-21 21:23 0800360210 陈伟基 程序源代码\TheGood\commen.h
文件 8724 2012-05-27 12:50 0800360210 陈伟基 程序源代码\TheGood\Debug\BuildLog.htm
文件 159265 2012-05-27 12:50 0800360210 陈伟基 程序源代码\TheGood\Debug\commen.obj
文件 21042 2012-04-08 14:22 0800360210 陈伟基 程序源代码\TheGood\Debug\format.obj
文件 170433 2012-05-22 17:13 0800360210 陈伟基 程序源代码\TheGood\Debug\main.obj
文件 65 2012-05-27 12:50 0800360210 陈伟基 程序源代码\TheGood\Debug\mt.dep
文件 937 2012-04-08 14:22 0800360210 陈伟基 程序源代码\TheGood\Debug\Robam Data Recovery.exe.em
文件 1004 2012-04-08 14:22 0800360210 陈伟基 程序源代码\TheGood\Debug\Robam Data Recovery.exe.em
文件 873 2012-05-27 12:50 0800360210 陈伟基 程序源代码\TheGood\Debug\Robam Data Recovery.exe.intermediate.manifest
文件 663 2012-03-02 14:19 0800360210 陈伟基 程序源代码\TheGood\Debug\TheGood.exe.em
文件 728 2012-03-02 14:19 0800360210 陈伟基 程序源代码\TheGood\Debug\TheGood.exe.em
文件 621 2012-03-05 23:11 0800360210 陈伟基 程序源代码\TheGood\Debug\TheGood.exe.intermediate.manifest
文件 10460 2012-04-08 14:22 0800360210 陈伟基 程序源代码\TheGood\Debug\TheGood.res
文件 846848 2012-05-27 12:50 0800360210 陈伟基 程序源代码\TheGood\Debug\vc90.idb
文件 462848 2012-05-27 12:50 0800360210 陈伟基 程序源代码\TheGood\Debug\vc90.pdb
文件 1385 2012-03-23 21:51 0800360210 陈伟基 程序源代码\TheGood\healthInfo.h
文件 90280 2012-05-22 17:06 0800360210 陈伟基 程序源代码\TheGood\main.cpp
文件 824 2012-03-16 12:05 0800360210 陈伟基 程序源代码\TheGood\PIC\301.bmp
文件 3444 2012-03-16 12:01 0800360210 陈伟基 程序源代码\TheGood\PIC\301.png
文件 824 2012-03-16 12:05 0800360210 陈伟基 程序源代码\TheGood\PIC\302.bmp
文件 3390 2012-03-16 12:01 0800360210 陈伟基 程序源代码\TheGood\PIC\302.png
文件 824 2012-03-16 12:05 0800360210 陈伟基 程序源代码\TheGood\PIC\617.bmp
文件 3571 2012-04-08 14:10 0800360210 陈伟基 程序源代码\TheGood\PIC\617.png
............此处省略29个文件信息
- 上一篇:Friends老友记全部剧本.pdf
- 下一篇:heml静态网页设计——家乡
相关资源
- 网络信息安全技术 论文
- 超级硬盘数据恢复软件 3.1破解版+无需
- 超级硬盘数据恢复软件真正的完美破
- ntfs-3g_ntfsprogs-2013.1.13.tgz
- 完美解决苹果MacBook无法对NTFS格式的
- 超级硬盘数据恢复软件 super_recovery 各
- 信息安全技术 网络安全等级保护测评
- 信息安全工程师教程高清-清华大学
- 国能安全36号 -电力监控系统安全防护
- 195-信息安全技术 云计算服务安全能力
- JR/T 0197-2020金融数据安全 数据安全分
- 网上银行系统信息安全通用规范
- 智能网联汽车信息安全白皮书
- 科来杯山东省大学生网络安全技能大
- 德国专业技术员版数据恢复大师O&O
- 信息安全试题答案(题库)完整版
- 网络攻防技术与实践_诸葛建伟_课程
- 信息安全数学基础习题答案裴定一
- 2018年度工业信息安全形势分析.pdf
- 数据恢复技术深度揭秘第2版.刘伟(详
- 人民银行信息系统信息安全等级保护
- 风险评估报告模板-非涉密信息系统信
- 网络安全法规-信息安全法律法规参考
- 软考中级《信息安全工程师指定教材
- 信息安全风险评估教程.pdf
- 中国信息安全国标全汇总 信息安全
- 苹果数据恢复大师完美绿色破解版[亲
- 中国信息安全国标全汇总 信息安全
- 信息安全工程师串讲PPT及相关试题.
- 苹果数据恢复.zip
评论
共有 条评论