资源简介

一年后翻自己的大学毕业设计看看,感慨很多,花了两个月时间来写的,过了毕业设计就丢一边了,太浪费,所以决定拿出来跟大家分享。 我的博客是: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.embed.manifest

     文件       1004  2012-04-08 14:22  0800360210 陈伟基 程序源代码\TheGood\Debug\Robam Data Recovery.exe.embed.manifest.res

     文件        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.embed.manifest

     文件        728  2012-03-02 14:19  0800360210 陈伟基 程序源代码\TheGood\Debug\TheGood.exe.embed.manifest.res

     文件        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个文件信息

评论

共有 条评论