Funzionare per nascondere e mostrare il cursore sullo schermo

Files Recovery Software
Home Dettagli contatto Supporto Clienti Scarica la Demo Prodotti  

 
 

/* Funzionare per nascondere (ed esposizione) il cursore sullo schermo */

show_hide_cursor ( 32, 0 );

gotoxy(15,18);cprintf("[ %d ] Files Recovered...",
num);

/* search for the data until the ending sector of the disk */

while(loop<Sectors_in_HDD2)
{
/* Read one Sector (Sector No. = loop) */
readabsolutesectors ( 0x81, loop, 1, buffer );

gotoxy(19,16);cprintf("Scanning Sector Number = % ld",
loop);

if(kbhit())
{
show_hide_cursor ( 6, 7 ); /* Retrieve the
cursor before
Exit the program
*/
exit(0);
}

/* if specified header is found */
if((memcmp ( buffer, header,7))==0)
{

/* logic to provide the file name to automatically
create the files to save the recovered data */

strcpy(filename, path);
itoa(num,temp,10);
strcat(filename, temp);
strcat(filename,".DOC");
start_file=loop; /* starting sector of file */

gotoxy(5,19);cprintf("File Found..., Saving As %s",
filename);
num++;

////////////// File Close Conditions \\\\\\\\\\\\\\\\

file_size=0;
while( file_size<5000000)
{

loop++;
file_size+=512;
readabsolutesectors ( 0x81, loop, 1, buffer );

gotoxy(19,16);cprintf("Scanning Sector Number = % ld" ,
loop);

/* if file size reaches up to maximum size of 5MB */
if(file_size>=5000000)
{
end_file=loop; /* Ending Sector of File */
Recover_the_file();/* write the data to file */
break;
}

/* if footer of DOC file is found */
for(i=0;i<512;i++)
{
if( memcmp(buffer+i,DOC_footer,12)==0 )
{
end_file=loop; /* Ending Sector of File */
Recover_the_file();/* write the data to file */
break;
}
}

/* if another header is found */
if( memcmp(buffer,header,7)==0 )
{
loop=loop-1;
end_file=loop; /* Ending Sector of File */
Recover_the_file();/* write the data to file */
break;
}
if(kbhit())
{
show_hide_cursor ( 6, 7 );
exit(0);
}
}

}
loop++;
} ////////While Loop Ends Here

 

/* display message for completion of search and recovery */ if(loop>=Sectors_in_HDD2 )
{
gotoxy(17,23);cprintf("The Saving of files in the Disk is
Completed !!");
gotoxy(17,24);cprintf("Press Any Key to Exit...");
show_hide_cursor ( 6, 7 );
getch();
}

}

Osservazioni su codificazione:

La geometria della struttura è usata dalla funzione getdrivegeometry usando 13H l'estensione INTERNA, il numero 0x48 di funzione per ottenere i vari parametri del disc.

Il diskaddrpacket della struttura è per la disposizione del pacchetto di indirizzo di disc, essere usato dai readabsolutesectors funziona.

La funzione getdrivegeometry (azionamento interno) è ottenere i parametri dell'azionamento del disc ha specificato l'azionamento fisico di numero di azionamento.

(char) peekb(0x0040, 0x0075) è usato trovare il numero di dischi rigidi collegati al calcolatore, immagazzinato a posizione di memoria rappresentata dal segmento 0040H: 0075H di derivazione. Se il numero totale di dischi rigidi fissati è di meno allora due visualizza il messaggio di errore e rimuovere.

Sectors_in_HDD2=getdrivegeometry (0x81); trova i vari parametri del secondo disco rigido fisico (0x81) e dei ritorni il numero totale di settori del disc.

La dichiarazione se (accesso (percorso, 0)! = 0) controlla l'accessibilità del percorso dato dall'utente. Se l'indice della destinazione non esiste, la destinazione è generata fino ad un livello e se il dato percorso controllasse dalla circostanza se (mkdir (percorso)! =0) è illegale, messaggio di errore è visualizzato.

nomi della lima delle lime automaticamente generate per conservare i dati recuperati sono generati tali che i primi tre caratteri delle lime sono dati le PPTT da strcat (percorso, "\ \ PPTT"); funzione. È fatta così per evitare i nomi duplicati della lima nell'indice della destinazione. Di conseguenza i nomi della lima delle lime recuperate sono dati nella disposizione di “PTTxxxxx.DOC”

Lo show_hide_cursor(32, 0) di funzione ; è usato nascondere il cursore dallo schermo in cui show_hide_cursor (6, 7); richiama il cursore di nuovo allo schermo.


I readabsolutesectors di funzione (0x81, ciclo, 1, amplificatore); Legge un settore del secondo disco rigido fisico specificato dal ciclo di numero del settore.

Se l'intestazione della lima è trovata, start_file = ciclo; regola lo start_file ad iniziare il numero del settore della lima da recuperare. Il programma segue le tre circostanze date dopo, per trovare il settore di conclusione della lima:

  • Se il formato di lima raggiunge fino a massimo graduare di 5MB
  • Se il footer della lima del documento è trovato
  • Se un'altra intestazione è trovata


Il numero intero lungo end_file è regolato al numero del settore di conclusione della lima da end_file=loop; se qualunque una condizione su tre è soddisfatta. Ora i dati dei settori, a partire dal numero del settore start_file al numero del settore end_file sono conservati alla lima con la funzione Recover_the_file ().


Previous page

page 1 | 2 | 3 | 4 | 5 | 6

Next page
 
 
Di recupero di dati libro
 
Capitolo 1 Una descrizione del recupero di dati
Capitolo 2 Introduzione dei dischi rigidi
Capitolo 3 Metodo logico ai disc ed all'OS
Capitolo 4 Sistemi di numero
Capitolo 5 Introduzione di programmazione di C
Capitolo 6 Introduzione ai principi fondamentali del calcolatore
Capitolo 7 Ordini necessari del DOS
Capitolo 8 Funzioni ed interruzioni di Disc-ESSERE VIVENTE che maneggiano con la C
Capitolo 9 Maneggiamento dei dischi rigidi grandi
Capitolo 10 Recupero di dati dal disco magnetico corrotto
Capitolo 11 Fare i sostegni
Capitolo 12 MBR leggente e di modificazione con la programmazione
Chapter 13 DBR leggente e di modificazione con la programmazione
Capitolo 14 Programmandosi per "il recupero della lima grezza"
Capitolo 15 Programmandosi per i pulitori di dati
Capitolo 16 Sviluppare più programmi di utilità per i disc
Appendice Glossario dei termini di recupero di dati
 
 
Pro Data Doctor

Home

Prodotti

Dettagli contatto

Supporto Clienti

Scarica la Demo

Termini e Condizioni

 
Pro Data Doctor