www.pudn.com > SafeClean.rar > DetectDrive.cpp


// DetectDrive.cpp : implementation file 
// 
 
 
#include "stdafx.h" 
 
#include "SafeClean.h" 
 
#include "DetectDrive.h" 
#include "Direct.h" 
#include "FinalDeletion.h" 
#include "Stdio.h" 
#include "SafeCleanDlg.h" 
 
 
#ifdef _DEBUG 
#define new DEBUG_NEW 
#undef THIS_FILE 
static char THIS_FILE[] = __FILE__; 
#endif 
 
///////////////////////////////////////////////////////////////////////////// 
// DetectDrive dialog 
 
int i=0; 
CString Temp; 
FILE *Fp; 
FILE *ft; 
FILE *Sett; 
FILE *LongFileName; 
FILE *risk; 
	   char str1[7],str2[10]; 
	    
	   int rlen; 
int one1,two1,three1,four1,five1,six1,seven1,eight1,nine1,ten1,eleven1,twelve1; 
 
DetectDrive::DetectDrive(CWnd* pParent /*=NULL*/) 
	: CDialog(DetectDrive::IDD, pParent) 
{ 
	//{{AFX_DATA_INIT(DetectDrive) 
    m_Cdrive = FALSE; 
	m_Ddrive = FALSE; 
	m_Edrive = FALSE; 
	m_Fdrive = FALSE; 
	m_Gdrive = FALSE; 
	m_Hdrive = FALSE; 
	m_Idrive = FALSE; 
	m_Jdrive = FALSE; 
	m_Kdrive = FALSE; 
	m_Ldrive = FALSE; 
	m_Mdrive = FALSE; 
	m_Ndrive = FALSE; 
	m_Odrive = FALSE; 
	m_Pdrive = FALSE; 
	m_Qdrive = FALSE; 
	m_Rdrive = FALSE; 
	m_Text = _T(""); 
	//}}AFX_DATA_INIT 
	 
} 
 
 
void DetectDrive::DoDataExchange(CDataExchange* pDX) 
{ 
	CDialog::DoDataExchange(pDX); 
	//{{AFX_DATA_MAP(DetectDrive) 
	DDX_Control(pDX, IDOK, m_Proceed); 
	DDX_Control(pDX, IDCANCEL, m_CanCel); 
	DDX_Control(pDX, IDC_ANIMATE, m_Avi); 
	DDX_Control(pDX, IDC_PROGRESSBAR, m_Bar); 
	DDX_Check(pDX, IDC_DRIVEC, m_Cdrive); 
	DDX_Check(pDX, IDC_DRIVED, m_Ddrive); 
	DDX_Check(pDX, IDC_DRIVEE, m_Edrive); 
	DDX_Check(pDX, IDC_DRIVEF, m_Fdrive); 
	DDX_Check(pDX, IDC_DRIVEG, m_Gdrive); 
	DDX_Check(pDX, IDC_DRIVEH, m_Hdrive); 
	DDX_Check(pDX, IDC_DRIVEI, m_Idrive); 
	DDX_Check(pDX, IDC_DRIVEJ, m_Jdrive); 
	DDX_Check(pDX, IDC_DRIVEK, m_Kdrive); 
	DDX_Check(pDX, IDC_DRIVEL, m_Ldrive); 
	DDX_Check(pDX, IDC_DRIVEM, m_Mdrive); 
	DDX_Check(pDX, IDC_DRIVEN, m_Ndrive); 
	DDX_Check(pDX, IDC_DRIVEO, m_Odrive); 
	DDX_Check(pDX, IDC_DRIVEP, m_Pdrive); 
	DDX_Check(pDX, IDC_DRIVEQ, m_Qdrive); 
	DDX_Check(pDX, IDC_DRIVER, m_Rdrive); 
	DDX_Text(pDX, IDC_STATICTEXT, m_Text); 
	DDX_Control(pDX, IDC_WEB, m_Web); 
	//}}AFX_DATA_MAP 
	pDX->m_bSaveAndValidate;  
 
	DetectDrive::DoMyJobCoolely(); 
	m_Web.SetURL(_T("http://talele.50megs.com/bugrep.htm")); 
	 
} 
 
 
BEGIN_MESSAGE_MAP(DetectDrive, CDialog) 
	//{{AFX_MSG_MAP(DetectDrive) 
	ON_BN_CLICKED(IDC_DRIVEC, OnDrivec) 
	ON_BN_CLICKED(IDC_DRIVED, OnDrived) 
	ON_BN_CLICKED(IDC_DRIVEE, OnDrivee) 
	ON_BN_CLICKED(IDC_DRIVEF, OnDrivef) 
	ON_BN_CLICKED(IDC_DRIVEG, OnDriveg) 
	ON_BN_CLICKED(IDC_DRIVEH, OnDriveh) 
	ON_BN_CLICKED(IDC_DRIVEI, OnDrivei) 
	ON_BN_CLICKED(IDC_DRIVEJ, OnDrivej) 
	ON_BN_CLICKED(IDC_DRIVEK, OnDrivek) 
	ON_BN_CLICKED(IDC_DRIVEL, OnDrivel) 
	ON_BN_CLICKED(IDC_DRIVEM, OnDrivem) 
	ON_BN_CLICKED(IDC_DRIVEN, OnDriven) 
	ON_BN_CLICKED(IDC_DRIVEO, OnDriveo) 
	ON_BN_CLICKED(IDC_DRIVEP, OnDrivep) 
	ON_BN_CLICKED(IDC_DRIVEQ, OnDriveq) 
	ON_BN_CLICKED(IDC_DRIVER, OnDriver) 
	//}}AFX_MSG_MAP 
 
END_MESSAGE_MAP() 
 
///////////////////////////////////////////////////////////////////////////// 
// DetectDrive message handlers 
DetectDrive::DoMyJobCoolely() 
{ 
 
    
    
   int  drive; 
   int curdrive; 
   static char path[_MAX_PATH]; 
   char buffer[_MAX_PATH]; 
 
    _getcwd( buffer, _MAX_PATH ); 
       
   //CString aString; 
   char aString; 
   curdrive = _getdrive(); 
   for( drive = 3; drive <= 26; drive++) 
   { 
      if( !_chdrive( drive ) ) 
	  { 
		    aString   = ( drive + 'A' - 1 ); 
	 
		  switch(aString) 
		  { 
 
          case 'C': if(GetDriveType("C:\\")==DRIVE_FIXED)  
					{GetDlgItem(IDC_DRIVEC)->ShowWindow(SW_SHOW); break;} 
			        else{break;} 
		  case 'D': if(GetDriveType("D:\\")==DRIVE_FIXED)  
					{GetDlgItem(IDC_DRIVED)->ShowWindow(SW_SHOW);break;} 
			          else{break;} 
		  case 'E': if(GetDriveType("E:\\")==DRIVE_FIXED)  
					{GetDlgItem(IDC_DRIVEE)->ShowWindow(SW_SHOW);break;} 
			         else{break;} 
          case 'F': if(GetDriveType("F:\\")==DRIVE_FIXED)  
					{GetDlgItem(IDC_DRIVEF)->ShowWindow(SW_SHOW);break;} 
			          else{break;} 
          case 'G':if(GetDriveType("G:\\")==DRIVE_FIXED)  
				   {GetDlgItem(IDC_DRIVEG)->ShowWindow(SW_SHOW);break;} 
			         else{break;} 
		  case 'H':if(GetDriveType("H:\\")==DRIVE_FIXED)  
				   {GetDlgItem(IDC_DRIVEH)->ShowWindow(SW_SHOW);break;} 
			         else{break;} 
		  case 'I':if(GetDriveType("I:\\")==DRIVE_FIXED)  
				   {GetDlgItem(IDC_DRIVEI)->ShowWindow(SW_SHOW);break;} 
			         else{break;} 
          case 'J': if(GetDriveType("J:\\")==DRIVE_FIXED) 
					{GetDlgItem(IDC_DRIVEJ)->ShowWindow(SW_SHOW);break; } 
			        else{break;} 
          case 'K': if(GetDriveType("K:\\")==DRIVE_FIXED) 
					{GetDlgItem(IDC_DRIVEJ)->ShowWindow(SW_SHOW);break; } 
			        else{break;} 
		  case 'L': if(GetDriveType("L:\\")==DRIVE_FIXED) 
					{GetDlgItem(IDC_DRIVEJ)->ShowWindow(SW_SHOW);break; } 
			        else{break;} 
		  case 'M': if(GetDriveType("M:\\")==DRIVE_FIXED) 
					{GetDlgItem(IDC_DRIVEJ)->ShowWindow(SW_SHOW);break; } 
			        else{break;} 
          case 'N': if(GetDriveType("N:\\")==DRIVE_FIXED) 
					{GetDlgItem(IDC_DRIVEJ)->ShowWindow(SW_SHOW);break; } 
			        else{break;} 
		 case 'O': if(GetDriveType("O:\\")==DRIVE_FIXED) 
					{GetDlgItem(IDC_DRIVEJ)->ShowWindow(SW_SHOW);break; } 
			        else{break;} 
		 case 'P': if(GetDriveType("P:\\")==DRIVE_FIXED) 
					{GetDlgItem(IDC_DRIVEJ)->ShowWindow(SW_SHOW);break; } 
			        else{break;} 
		 case 'Q': if(GetDriveType("Q:\\")==DRIVE_FIXED) 
					{GetDlgItem(IDC_DRIVEJ)->ShowWindow(SW_SHOW);break; } 
			        else{break;} 
		 case 'R': if(GetDriveType("R:\\")==DRIVE_FIXED) 
					{GetDlgItem(IDC_DRIVEJ)->ShowWindow(SW_SHOW);break; } 
			        else{break;} 
		  default: break; 
		  }; 
		  
	  } 
   } 
_chdir(buffer); 
  
	 
 
} 
 
void DetectDrive::OnOK()  
{ 
   
     
	m_Web.EnableWindow(FALSE); 
	m_Proceed.EnableWindow(FALSE); 
	m_CanCel.EnableWindow(FALSE); 
     m_Avi.Open(IDR_AVI); 
	 m_Avi.Play( 0, -1,-1 ); 
    
 
   int  drive, curdrive; 
   static char path[_MAX_PATH]; 
   //CString aString; 
 
   char buffer[_MAX_PATH]; 
    _getcwd( buffer, _MAX_PATH ); 
   char aString; 
   curdrive = _getdrive(); 
   for( drive = 3; drive <= 26; drive++) 
   { 
      if( !_chdrive( drive ) ) 
	  { 
		    aString   = ( drive + 'A' - 1 ); 
		 
		  switch(aString) 
		  { 
 
          case 'C': if(IsDlgButtonChecked(IDC_DRIVEC)) { 
			          m_Bar.SetRange(0,1500);i=0; m_Bar.SetPos(0);_chdir("\\"); DetectDrive::ParseTree("*.*");m_Bar.SetPos(1500); break;} 
			         else {break;} 
		  case 'D': if(IsDlgButtonChecked(IDC_DRIVED)){ 
			          m_Bar.SetRange(0,1500); m_Bar.SetPos(0);i=0;  _chdir("\\"); DetectDrive::ParseTree("*.*");m_Bar.SetPos(1500);break;} 
			         else{break;} 
          case 'E': if(IsDlgButtonChecked(IDC_DRIVEE)){ 
			          m_Bar.SetRange(0,1500); m_Bar.SetPos(0);i=0;  _chdir("\\"); DetectDrive::ParseTree("*.*");m_Bar.SetPos(1500);break;} 
			         else{break;} 
	   	  case 'F': if(IsDlgButtonChecked(IDC_DRIVEF)){ 
			          m_Bar.SetRange(0,1500);m_Bar.SetPos(0);i=0;  _chdir("\\"); DetectDrive::ParseTree("*.*");m_Bar.SetPos(1500);break;} 
			         else{break;}	   
          case 'G': if(IsDlgButtonChecked(IDC_DRIVEG)){ 
			         m_Bar.SetRange(0,1500);m_Bar.SetPos(0);i=0;  _chdir("\\"); DetectDrive::ParseTree("*.*");m_Bar.SetPos(1500);break;} 
			         else{break;} 
          case 'H': if(IsDlgButtonChecked(IDC_DRIVEH)){ 
			          m_Bar.SetRange(0,1500);m_Bar.SetPos(0);i=0;  _chdir("\\"); DetectDrive::ParseTree("*.*");m_Bar.SetPos(1500);break;} 
			         else{break;} 
          case 'I': if(IsDlgButtonChecked(IDC_DRIVEI)){ 
			         m_Bar.SetRange(0,1500); m_Bar.SetPos(0);  _chdir("\\"); DetectDrive::ParseTree("*.*");m_Bar.SetPos(1500);break;} 
			         else{break;} 
          case 'J': if(IsDlgButtonChecked(IDC_DRIVEJ)){ 
			         m_Bar.SetRange(0,1500); m_Bar.SetPos(0);  _chdir("\\"); DetectDrive::ParseTree("*.*");m_Bar.SetPos(1500);break;} 
			         else{break;} 
		  case 'K': if(IsDlgButtonChecked(IDC_DRIVEK)){ 
			         m_Bar.SetRange(0,1500); m_Bar.SetPos(0);  _chdir("\\"); DetectDrive::ParseTree("*.*");m_Bar.SetPos(1500);break;} 
			         else{break;} 
          case 'L': if(IsDlgButtonChecked(IDC_DRIVEL)){ 
			         m_Bar.SetRange(0,1500); m_Bar.SetPos(0);  _chdir("\\"); DetectDrive::ParseTree("*.*");m_Bar.SetPos(1500);break;} 
			         else{break;} 
		  case 'M': if(IsDlgButtonChecked(IDC_DRIVEM)){ 
			         m_Bar.SetRange(0,1500); m_Bar.SetPos(0);  _chdir("\\"); DetectDrive::ParseTree("*.*");m_Bar.SetPos(1500);break;} 
			         else{break;} 
		  case 'N': if(IsDlgButtonChecked(IDC_DRIVEN)){ 
			         m_Bar.SetRange(0,1500); m_Bar.SetPos(0);  _chdir("\\"); DetectDrive::ParseTree("*.*");m_Bar.SetPos(1500);break;} 
			         else{break;} 
		  case 'O': if(IsDlgButtonChecked(IDC_DRIVEO)){ 
			         m_Bar.SetRange(0,1500); m_Bar.SetPos(0);  _chdir("\\"); DetectDrive::ParseTree("*.*");m_Bar.SetPos(1500);break;} 
			         else{break;} 
          case 'P': if(IsDlgButtonChecked(IDC_DRIVEP)){ 
			         m_Bar.SetRange(0,1500); m_Bar.SetPos(0);  _chdir("\\"); DetectDrive::ParseTree("*.*");m_Bar.SetPos(1500);break;} 
			         else{break;} 
		  case 'Q': if(IsDlgButtonChecked(IDC_DRIVEQ)){ 
			         m_Bar.SetRange(0,1500); m_Bar.SetPos(0);  _chdir("\\"); DetectDrive::ParseTree("*.*");m_Bar.SetPos(1500);break;} 
			         else{break;} 
		  case 'R': if(IsDlgButtonChecked(IDC_DRIVER)){ 
			         m_Bar.SetRange(0,1500); m_Bar.SetPos(0);  _chdir("\\"); DetectDrive::ParseTree("*.*");m_Bar.SetPos(1500);break;} 
			         else{break;} 
 
			   
		  default: break; 
		  }; 
		  
	  } 
   } 
   m_Avi.Stop(); 
   m_Avi.Close(); 
   _chdir(buffer); 
   AfxMessageBox("Search Finished"); 
         
 
   m_Web.EnableWindow(TRUE); 
   m_Proceed.EnableWindow(TRUE); 
   m_CanCel.EnableWindow(TRUE); 
   m_Bar.SetPos(0); 
   m_Text.Format(" ");  
   UpdateData(FALSE); 
   DetectDrive::EndDialog(-1);  
   FinalDeletion aDlg; 
   aDlg .DoModal(); 
    
}  
 
 
DetectDrive::ParseTree(char *Temp) 
{ 
    
	  
    fcloseall(); 
	 
	Fp=fopen("c:\\Temp\\~Safe.nct","a+"); 
	if(Fp==NULL) 
	{ 
		AfxMessageBox("ERROR! HDD WRITE PROTECTED !"); 
		exit(0); 
	} 
 
	ft=fopen("c:\\Temp\\~Path.nct","a+"); 
	if(ft==NULL) 
	{ 
		AfxMessageBox("ERROR! HDD WRITE PROTECTED !"); 
		exit(0); 
	} 
      
	LongFileName=fopen("c:\\Temp\\Long.nct","a+"); 
	if(LongFileName==NULL){AfxMessageBox("ERROR! HDD WRITE PROTECTED !");exit(0);} 
 
	Sett=fopen("c:\\Temp\\Setting.ini","r"); 
	if(Sett!=NULL) 
	{ 
     fscanf(Sett,"%d %d %d %d %d %d %d %d %d %d %d %d",&one1,&two1,&three1,&four1,&five1,&six1,&seven1,&eight1,&nine1,&ten1,&eleven1,&twelve1); 
   	} 
	else 
	{ 
      AfxMessageBox("                    ERROR! \n It seems that you have not installed this product on c drive.\n Install/ReInstall the product on C-Drive only as is.   \n    Else mail the author for other reason.\n Setting.ini missing. "); 
	  exit(0); 
	  //int one1=0,two1=0,three1=0,four1=0,five1=0,six1=0,seven1=1,eight1=1; 
	   
	   
	} 
	 
 
	 
CFileFind finder; 
BOOL bWorking = finder.FindFile("*.*"); 
 while (bWorking) 
   { 
    CTime Time,Time1; 
	  bWorking = finder.FindNextFile();  
       
      CString B=finder.GetFileName(); 
	  int Length=finder.GetLength();  
	  finder.GetLastAccessTime(Time); 
	  finder.GetLastWriteTime(Time1);  
	  B.MakeLower();  
      CString tmp="Temp"; 
       
 
  //finder.id 
 
      	   
	  if((one1 == 0)&&(one1!=1)) 
	  { 
 
          if(((B.Find(".tmp",4))!=-1)||((B.Find(".??$",4))!=-1)||((B.Find("msdownld.tmp",12))!=-1)||((B.Find(".chk",4))!=-1)||((B.Find(".1st",4))!=-1)||((B.Find(".ffa",4))!=-1)||((B.Find(".ffl",4))!=-1)||((B.Find(".ffo",4))!=-1)) 
		  {i++;fprintf(Fp,"%s %d %d %d %d %d %d %d\n",tmp ,Length,Time.GetDay(),Time.GetMonth(),Time.GetYear(),Time1.GetHour(),Time1.GetMinute(),i); 
	         fprintf(ft,"%s\n",finder.GetFilePath());  
			 fprintf(LongFileName,"%s\n",finder.GetFileName());  
		  } 
 
      } 
       
      
 
      if((two1 == 0)&&(two1!=1)) 
	  { 
          if(((B.Find(".bak",4))!=-1)||((B.Find(".old",4))!=-1)) 
		  {i++;fprintf(Fp,"%s %d %d %d %d %d %d %d\n",tmp ,Length,Time.GetDay(),Time.GetMonth(),Time.GetYear(),Time1.GetHour(),Time1.GetMinute(),i); 
	           fprintf(ft,"%s\n",finder.GetFilePath());  
			   fprintf(LongFileName,"%s\n",finder.GetFileName());  
		  } 
	  }    
 
	       
 
      if((three1 == 0)&&(three1!=1)) 
	  { 
           if(((B.Find(".dir",4))!=-1)||((B.Find(".---",4))!=-1)) 
	   	   {i++;fprintf(Fp,"%s %d %d %d %d %d %d %d\n",tmp ,Length,Time.GetDay(),Time.GetMonth(),Time.GetYear(),Time1.GetHour(),Time1.GetMinute(),i); 
	        fprintf(ft,"%s\n",finder.GetFilePath());  
			fprintf(LongFileName,"%s\n",finder.GetFileName());  
		   } 
	  } 
 
 
	  if((four1 == 0)&&(four1!=1)) 
	  { 
            if(((B.Find(".fts",4))!=-1)||((B.Find(".gid",4))!=-1)||((B.Find(".ftg",4))!=-1)) 
			{i++;fprintf(Fp,"%s %d %d %d %d %d %d %d\n",tmp ,Length,Time.GetDay(),Time.GetMonth(),Time.GetYear(),Time1.GetHour(),Time1.GetMinute(),i); 
	        fprintf(ft,"%s\n",finder.GetFilePath());  
			fprintf(LongFileName,"%s\n",finder.GetFileName());  
			} 
	   
	  } 
 
	  if((five1 == 0)&&(five1!=1)) 
	  { 
        if(((B.Find(".log",4))!=-1)||((B.Find("og.dat",6))!=-1)||((B.Find("og.prv",6))!=-1)) 
	  	   {i++;fprintf(Fp,"%s %d %d %d %d %d %d %d\n",tmp ,Length,Time.GetDay(),Time.GetMonth(),Time.GetYear(),Time1.GetHour(),Time1.GetMinute(),i); 
	            fprintf(ft,"%s\n",finder.GetFilePath());  
				fprintf(LongFileName,"%s\n",finder.GetFileName());  
		}    
 
	  } 
	   
	     
     if((six1 == 0)&&(six1!=1)) 
	 { 
       if(((B.Find(".cpy",4))!=-1)) 
	   {i++;fprintf(Fp,"%s %d %d %d %d %d %d %d\n",tmp ,Length,Time.GetDay(),Time.GetMonth(),Time.GetYear(),Time1.GetHour(),Time1.GetMinute(),i); 
	    fprintf(ft,"%s\n",finder.GetFilePath());  
		fprintf(LongFileName,"%s\n",finder.GetFileName());  
	  } 
 
	 } 
	         
	 
	   
	 if((seven1 == 0)&&(seven1!=1)) 
	 { 
          //*.ilc; *.ild; *.ilf; *.ils; *.tds;  
          if(((B.Find(".ilc",4))!=-1)||((B.Find(".ild",4))!=-1)||((B.Find(".ilf",4))!=-1)||((B.Find(".ils",4))!=-1)||((B.Find(".tds",4))!=-1)) 
	   	   {i++;fprintf(Fp,"%s %d %d %d %d %d %d %d\n",tmp ,Length,Time.GetDay(),Time.GetMonth(),Time.GetYear(),Time1.GetHour(),Time1.GetMinute(),i); 
	       fprintf(ft,"%s\n",finder.GetFilePath());  
		   fprintf(LongFileName,"%s\n",finder.GetFileName());  
		  } 
 
	 } 
 
 
	 if((eight1 == 0)&&(eight1!=1)) 
	 { 
		  //*.bsc; *.ilk; *.res; *.pch; 
		if(((B.Find(".bsc",4))!=-1)||((B.Find(".ilk",4))!=-1)||((B.Find(".res",4))!=-1)||((B.Find(".pch",4))!=-1))   
			{i++;fprintf(Fp,"%s %d %d %d %d %d %d %d\n",tmp ,Length,Time.GetDay(),Time.GetMonth(),Time.GetYear(),Time1.GetHour(),Time1.GetMinute(),i); 
	             fprintf(ft,"%s\n",finder.GetFilePath());  
				 fprintf(LongFileName,"%s\n",finder.GetFileName());  
		}  
 
	 } 
	   
     
	  
	  
   if((nine1 == 0)&&(nine1!=1)) 
	  { 
 
          if(((B.Find("g.txt",5))!=-1)) 
		  {i++;fprintf(Fp,"%s %d %d %d %d %d %d %d\n",tmp ,Length,Time.GetDay(),Time.GetMonth(),Time.GetYear(),Time1.GetHour(),Time1.GetMinute(),i); 
	         fprintf(ft,"%s\n",finder.GetFilePath());  
			 fprintf(LongFileName,"%s\n",finder.GetFileName());  
		  } 
 
      } 
 
 
   if((ten1 == 0)&&(ten1!=1)) 
	  { 
	    
	   risk=fopen("c:\\Temp\\Rules.ini","r"); 
	   if(risk==NULL){ AfxMessageBox("ERROR ! Rules file is missing. please enter the rules to create the file automatically. \n              Or Uncheck the box to get the rid out of this error."); 
	                   AfxMessageBox("             ERROR! \n It seems that you have not installed this product on c drive.\n Install/ReInstall the product on C-Drive only as is.   \n    Else mail the author for other reason. \n Rules.ini file missing."); 
	   fcloseall(); 
	   exit(0); 
	    // fclose(risk);goto cleanup; 
	   } 
 
    if((eleven1 == 0)&&(eleven1!=1)) 
	  { 
 
          if(((B.Find(".~",2))!=-1)||((B.Find(".-",2))!=-1)||((B.Find(".dos",4))!=-1)) 
		  {i++;fprintf(Fp,"%s %d %d %d %d %d %d %d\n",tmp ,Length,Time.GetDay(),Time.GetMonth(),Time.GetYear(),Time1.GetHour(),Time1.GetMinute(),i); 
	         fprintf(ft,"%s\n",finder.GetFilePath());  
			 fprintf(LongFileName,"%s\n",finder.GetFileName());  
		  } 
 
      } 
 
 
 
         while(!feof(risk)) 
		 { 
			 
         fscanf(risk,"%s %s %d ",str1,str2,&rlen); 
	    if(((B.Find(str2,rlen))!=-1)) 
		  {i++;fprintf(Fp,"%s %d %d %d %d %d %d %d\n",tmp ,Length,Time.GetDay(),Time.GetMonth(),Time.GetYear(),Time1.GetHour(),Time1.GetMinute(),i); 
	         fprintf(ft,"%s\n",finder.GetFilePath());  
			 fprintf(LongFileName,"%s\n",finder.GetFileName());  
		  } 
		  else 
		  { 
 
		  } 
		 } 
 
		 fclose(risk); 
      } 
   
   
if((twelve1 == 0)&&(twelve1!=1)) 
	  { 
        //AfxMessageBox("Hello"); 
          if((Length < 1) && (!finder.IsDirectory())) 
		  {i++;fprintf(Fp,"%s %d %d %d %d %d %d %d\n",tmp ,Length,Time.GetDay(),Time.GetMonth(),Time.GetYear(),Time1.GetHour(),Time1.GetMinute(),i); 
	         fprintf(ft,"%s\n",finder.GetFilePath());  
			 fprintf(LongFileName,"%s\n",finder.GetFileName());  
		  } 
 
      } 
 
 
   if((one1 ==1) ||(two1 ==1) ||(three1 ==1) ||(four1 ==1) ||(five1 ==1) ||(six1 ==1) ||(seven1 ==1) || (eight1 ==1)) 
   { 
     //do  notthing 
   } 
 
 
 
 
 
 
 
 
 
	   
 
 
	 if(finder.IsDirectory()!=0 &&finder.GetFileName()!='.'&&finder.GetFileName()!=".."&&!finder.IsSystem()) 
	  { 
		   
	  i=i+1; 
	  m_Bar.SetPos(i);  
	  m_Text.Format(finder.GetFilePath()); 
	  UpdateData(FALSE); 
      _chdir(finder.GetFileName()); 
	   DetectDrive::ParseTree("*.*");  
	  	   
    	  
	  } 
	   
   } 
 _chdir(".."); 
 
 
 DetectDrive::UpdateWindow();   
 //CSafeCleanDlg::UpdateWindow();    
  
} 
 
void DetectDrive::OnDrivec()  
{ 
	// TODO: Add your control notification handler code here 
	if(m_Cdrive == TRUE){ 
		m_Cdrive = FALSE; 
	} 
	else{ 
		m_Cdrive = TRUE; 
	} 
	 
} 
 
void DetectDrive::OnDrived()  
{ 
	// TODO: Add your control notification handler code here 
	if(m_Ddrive == TRUE){ 
		m_Ddrive = FALSE; 
	} 
	else{ 
		m_Ddrive = TRUE; 
	} 
} 
 
void DetectDrive::OnDrivee()  
{ 
	// TODO: Add your control notification handler code here 
	if(m_Edrive == TRUE){ 
		m_Edrive = FALSE; 
	} 
	else{ 
		m_Edrive = TRUE; 
	} 
} 
 
void DetectDrive::OnDrivef()  
{ 
	// TODO: Add your control notification handler code here 
	if(m_Fdrive == TRUE){ 
		m_Fdrive = FALSE; 
	} 
	else{ 
		m_Fdrive = TRUE; 
	} 
} 
 
void DetectDrive::OnDriveg()  
{ 
	// TODO: Add your control notification handler code here 
	if(m_Gdrive == TRUE){ 
		m_Gdrive = FALSE; 
	} 
	else{ 
		m_Gdrive = TRUE; 
	} 
} 
 
void DetectDrive::OnDriveh()  
{ 
	// TODO: Add your control notification handler code here 
	if(m_Hdrive == TRUE){ 
		m_Hdrive = FALSE; 
	} 
	else{ 
		m_Hdrive = TRUE; 
	} 
} 
 
void DetectDrive::OnDrivei()  
{ 
	// TODO: Add your control notification handler code here 
	if(m_Idrive == TRUE){ 
		m_Idrive = FALSE; 
	} 
	else{ 
		m_Idrive = TRUE; 
	} 
} 
 
void DetectDrive::OnDrivej()  
{ 
	// TODO: Add your control notification handler code here 
	if(m_Jdrive == TRUE){ 
		m_Jdrive = FALSE; 
	} 
	else{ 
		m_Jdrive = TRUE; 
	} 
} 
 
void DetectDrive::OnCancel()  
{ 
	// TODO: Add extra cleanup here 
	 
	CDialog::OnCancel(); 
} 
 
void DetectDrive::OnDrivek()  
{ 
	// TODO: Add your control notification handler code here 
	if(m_Kdrive == TRUE){ 
		m_Kdrive = FALSE; 
	} 
	else{ 
		m_Kdrive = TRUE; 
	} 
} 
 
void DetectDrive::OnDrivel()  
{ 
	// TODO: Add your control notification handler code here 
	if(m_Ldrive == TRUE){ 
		m_Ldrive = FALSE; 
	} 
	else{ 
		m_Ldrive = TRUE; 
	} 
} 
 
void DetectDrive::OnDrivem()  
{ 
	// TODO: Add your control notification handler code here 
	if(m_Mdrive == TRUE){ 
		m_Mdrive = FALSE; 
	} 
	else{ 
		m_Mdrive = TRUE; 
	} 
} 
 
void DetectDrive::OnDriven()  
{ 
	// TODO: Add your control notification handler code here 
	if(m_Ndrive == TRUE){ 
		m_Ndrive = FALSE; 
	} 
	else{ 
		m_Ndrive = TRUE; 
	} 
} 
 
void DetectDrive::OnDriveo()  
{ 
	// TODO: Add your control notification handler code here 
	if(m_Odrive == TRUE){ 
		m_Odrive = FALSE; 
	} 
	else{ 
		m_Odrive = TRUE; 
	} 
} 
 
void DetectDrive::OnDrivep()  
{ 
	// TODO: Add your control notification handler code here 
	if(m_Pdrive == TRUE){ 
		m_Pdrive = FALSE; 
	} 
	else{ 
		m_Pdrive = TRUE; 
	} 
} 
 
void DetectDrive::OnDriveq()  
{ 
	// TODO: Add your control notification handler code here 
	if(m_Qdrive == TRUE){ 
		m_Qdrive = FALSE; 
	} 
	else{ 
		m_Qdrive = TRUE; 
	} 
} 
 
void DetectDrive::OnDriver()  
{ 
	// TODO: Add your control notification handler code here 
    if(m_Rdrive == TRUE){ 
		m_Rdrive = FALSE; 
	} 
	else{ 
		m_Rdrive = TRUE; 
	}	 
}