Arbeiten, um Cursor auf dem Schirm zu verstecken und zu zeigen

Data Recovery PRO DATA DOCTOR

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

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


/* Arbeiten, um (und Erscheinen) Cursor auf dem Schirm zu verstecken */

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

}

Anmerkungen zur Kodierung:

Die Strukturgeometrie wird durch getdrivegeometry Funktion mit INTERNER 13H Verlängerung, Funktion Zahl 0x48, die verschiedenen Parameter der Scheibe zu erhalten verwendet.

Das Struktur diskaddrpacket ist für Plattenadresse-Paketformat, durch die readabsolutesectors verwendet zu werden arbeiten.

Die getdrivegeometry Funktion (interner Antrieb) ist, Antrieb Parameter der Scheibe zu erhalten spezifizierte körperlichen Laufwerknummer-Antrieb.

(Putzfrau) peekb (0x0040, 0x0075) wird benutzt, um die Zahl den Festplatten zu finden, die an den Computer angeschlossen werden, gespeichert an der Gedächtnisposition, die durch Segment 0040H dargestellt wird: Offset0075h. Wenn total, ist Zahl der angebrachten Festplatten weniger dann zwei Anzeige Fehlermeldung und Ausgang.

Sectors_in_HDD2=getdrivegeometry (0x81); findet die verschiedenen Parameter der zweiten körperlichen Festplatte (0x81) und der Rückkehr die Gesamtzahl Sektoren der Scheibe.

Die Aussage wenn (Zugang (Weg, 0)! = überprüft 0) die Zugänglichkeit des Weges, der vom Benutzer gegeben wird. Wenn Bestimmungsortverzeichnis nicht besteht, wird der Bestimmungsort bis zu einem Niveau hergestellt und wenn der gegebene Weg durch Bedingung ob überprüfte (mkdir (Weg)! =0) ist, Fehlermeldung wird angezeigt ungültig.

Den Akte Namen der automatisch hergestellten Akten, zum der zurückgewonnenen Daten zu speichern werden so verursacht, daß die ersten drei Buchstaben der Akten Postverwaltung durch strcat gegeben werden (Weg, „\ \ Postverwaltung“); Funktion. Sie wird so getan, um die doppelten Akte Namen im Bestimmungsortverzeichnis zu vermeiden. Folglich werden die Akte Namen der zurückgewonnenen Akten gegeben im Format von „PTTxxxxx.DOC“

Das Funktion show_hide_cursor (32, 0); verwendet wird, den Cursor vom Schirm zu verstecken in dem show_hide_cursor (6, 7); holt den Cursor zurück zu Schirm zurück.


Die Funktion readabsolutesectors (0x81, Schleife, 1, Puffer); Liest einen Sektor der zweiten körperlichen Festplatte, die durch Sektorzahlschleife spezifiziert wird.

Wenn die überschrift der Akte gefunden wird, start_file = Schleife; stellt das start_file auf das Beginnen der Sektorzahl der zurückgewonnen zu werden ein Akte. Das Programm folgt den drei Bedingungen, die zunächst gegeben werden, um den Endesektor der Akte zu finden:

  • Wenn Akte Größe bis zu maximalem erreicht, von 5MB sortieren
  • Wenn Seitenende der Doc. Akte gefunden wird
  • Wenn eine andere überschrift gefunden wird


Die lange end_file Ganzzahl wird auf die Endesektorzahl der Akte durch end_file=loop eingestellt; wenn irgendeine eine Bedingung aus drei heraus erfüllt ist. Jetzt werden die Daten der Sektoren, abfahrend von der Sektorzahl, die zur end_file Sektorzahl start_file ist, zur Akte mit der Funktion Recover_the_file gespeichert ().

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