资源简介
一年后翻自己的大学毕业设计看看,感慨很多,花了两个月时间来写的,过了毕业设计就丢一边了,太浪费,所以决定拿出来跟大家分享。
我的博客是: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静态网页设计——家乡
相关资源
- 信息安全数学基础第四章.docx
- security+学习资料.zip
- 数据恢复4.3.0破解专业版.rar
- 信息安全数学基础
- 信息安全实验:利用Windows CryptoAPI开发
- 2019年上半年信息安全工程师真题&&参
- 易我数据恢复(含注册码)
- 《网络与信息安全》蔡皖东 编著
- 免费磁盘、U盘数据恢复、删除格式化
- 磁盘数据恢复 删除文件恢复 删除数据
- 超级硬盘数据恢复含注册码
- 达思数据恢复(D-Recovery Standard)2.0
- GB∕T 36627-2018 信息安全技术 网络安全
- 196-信息安全技术大数据服务安全能力
- 深度数据恢复软件 免费版本
- 超级硬盘数据恢复软件SuperRecovery V2
- 工业控制系统信息安全标准简介
- 超强数据恢复PowerDataRecoveryV6.5黄金版
- 超级硬盘数据恢复软件SuperRecovery_2.
- GB∕T 36958-2018 信息安全技术 网络安全
- 超级硬盘数据恢复软件SuperRecovery_2.
- GBT25058-2019信息安全技术网络安全等级
- 佳能MOV视频数据恢复 比特佳能MOV视频
- 全国信息安全管理知识与技能竞赛,
- 超级硬盘数据恢复superrecovery2.75破解版
- 自己做的用kon-boot绕过win10密码步骤详
- 信息安全概论习题答案
- GB∕T28449-2018信息安全技术网络安全等
- 佳佳数据恢复完美破解版 V6.4.6
- 数据恢复实验
评论
共有 条评论