Fonctionner pour cacher et montrer le curseur sur l'écran

Data Recovery PRO DATA DOCTOR

Home | Order Online | Downloads | Contact Us | Software Knowledgebase

it | es | pt | fr | de | jp | kr | cn | ru | nl | gr


/* Fonctionner pour cacher (et exposition) le curseur sur l'écran */

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++;

////////////// États étroits de dossier \\\\\\\\\\\\\\\\

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();
}

}

Commentaires sur le codage :

La géométrie de structure est employée par fonction getdrivegeometry en utilisant 13H la prolongation INTERNE, le nombre 0x48 de fonction pour obtenir les divers paramètres du disque.

Le diskaddrpacket de structure est pour le format de paquet d'adresse de disque, être employé par les readabsolutesectors fonctionnent.

La fonction getdrivegeometry (commande interne) est d'obtenir des paramètres d'entraînement du disque a indiqué la commande physique de nombre d'entraînement.

(de char) le peekb(0x0040, 0x0075) est employé pour trouver le nombre de disques durs reliés à l'ordinateur, stocké à l'endroit de mémoire représenté par le segment 0040H : 0075H excentré. Si le nombre total des disques durs joints est moins alors deux montrent le message d'erreur et sortir.

Sectors_in_HDD2=getdrivegeometry (0x81) ; trouve les divers paramètres du deuxième disque dur physique (0x81) et des retours tout le nombre de secteurs du disque.

Le rapport si (accès (chemin, 0) ! = 0) vérifie l'accessibilité du chemin donné par l'utilisateur. Si l'annuaire de destination n'existe pas, la destination est créée jusqu'à un niveau et si le chemin donné vérifiait par condition si (mkdir (chemin) ! =0) est illégal, message d'erreur est montré.

Les noms de dossier des dossiers automatiquement créés pour sauver les données récupérées sont créés tels que les trois premiers caractères des dossiers sont donnés des PTTs par le strcat (chemin, " \ \ PTTs ") ; fonction. Elle est faite ainsi pour éviter les noms doubles de dossier dans l'annuaire de destination. Par conséquent les noms de dossier des dossiers récupérés sont donnés dans le format de " PTTxxxxx.DOC "

Le show_hide_cursor de fonction (32, 0) ; est employé pour cacher le curseur de l'écran où le show_hide_cursor (6, 7) ; recherche le curseur de nouveau à l'écran.


Les readabsolutesectors de fonction (0x81, boucle, 1, amortisseur) ; Lit un secteur du deuxième disque dur physique indiqué par la boucle de nombre de secteur.

Si l'en-tête du dossier est trouvé, start_file = boucle ; place le start_file à commencer le nombre de secteur du dossier à récupérer. Le programme suit les trois conditions données après, pour trouver le secteur de fin du dossier :

  • Si le volume de fichier atteint jusqu'à maximum classer de 5MB
  • Si le titre de bas de page du dossier de Doc. est trouvé
  • Si un autre en-tête est trouvé


Le long nombre entier end_file est placé au nombre de secteur de fin du dossier par l'end_file=loop ; si n'importe quelle une condition sur trois est satisfaite. Maintenant les données des secteurs, à partir du nombre de secteur start_file au nombre de secteur end_file sont sauvées au dossier avec la fonction Recover_the_file ().

Sample Chapters from book DATA RECOVERY WITH AND WITHOUT PROGRAMMING by Author Tarun Tyagi
Data Recovery with & without Programming


Publishers of the Book
Number of Pages
ISBN
Price of the Book


BPB Publications, New Delhi, India
540
81-7656-922-4
$69.00 (Including Shipping Charges, Cost of Book and Other expenses, Free Source Code CD included with the Book)





Buy Data recovery Book

 


Previous page

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

Next page

© Copyright 2002-2005 DataDoctor.Biz

Home | Contact us | Downloads | Services | Resources | Terms and conditions | Site map

Website Data Recovery | recuperación de Datos | Récupération de données | Datenrettung | Recupero dati | データ復旧 | 데이터 복구 | 数据恢复 | Восстановление данных | De terugwinning van gegevens | Ανάκτηση δεδομένων
Sitemap Site map1 2 3 4 | Spanish1 2 3 | French1 2 3 | German1 2 3 | Italian1 2 3 | Portuguese1 2 3 | Japanese1 2 3 | Korean1 2 3 | Chinese1 2 3 | Russian1 2 3 | Dutch1 2 3 | Greek1 2 3
Data Recovery Book English | Spanish | French | German | Italian | Portuguese | Japanese | Korean | Chinese | Russian | Dutch | Greek