Функция Скрыть курсоры и показывать на экране

Files Recovery Software
Дом Контактная информация Служба поддержки Скачать демо - Продукция  

 
 

/*Функция Скрыть (и показывать) курсор на экране*/

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

}

Замечания по кодированию :

Структура геометрии используется getdrivegeometry используя функцию INT 13H Удлинение, Номер 0x48 функции для получения различных параметров диска.

Структура diskaddrpacket Диск предназначен для пакетной Адрес формат, который должен использоваться readabsolutesectors функций.

Функция getdrivegeometry (int дисков) - для получения дисков Параметры дисков указанного физического диска количество дисков.

(символьный) peekb (0x0040, 0x0075), позволяет найти ряд жестких диска подключены к компьютеру, хранятся в памяти сегмент представлен 0040H : офсетные 0075H. Если общее число жестких дисков, вложенный менее двух Показать сообщения об ошибке и выход.

Sectors_in_HDD2 = getdrivegeometry (0x81); находит различные параметры второго физического диска (0x81) и возвращает общее число слоев диске.

Если заявление (доступа (пути, 0)! = 0) проверки доступности путь, указанными пользователем. Если директория не существует, назначения создается на срок до одного уровня и в том случае, если указанным путем проверяется условие, если (mkdir (путь)! = 0), является незаконным, появится сообщение об ошибке.

Имена файлов автоматически создаются файлы для спасения возвращаемых данных создаются таким образом, чтобы первые три символа из файлов приведены в ПТТ strcat (путь, "\ \ Ptt"); функцию. Это сделано с тем, чтобы избежать дублирования имен файлов в директории назначения. Поэтому имена файлов найденных файлов указаны в формате "PTTxxxxx.DOC"

Функция show_hide_cursor (32, 0); используется для Скрыть курсор с экрана, где show_hide_cursor (6, 7); загружает курсор на экране.


Функция readabsolutesectors (0x81, петля, 1, буфера); Читать одном секторе второй физический жесткий диск, указанных в секторе номер контура.

Если заголовок файла не обнаружено, start_file = петля; наборы start_file стартового сектора число файлов, подлежащих возмещению. Программы следующим образом три условия указаны рядом, найти закончившейся сектор файла :

  • Если размер файла доходит до максимального размера строницу
  • Если нижний колонтитулы файла DOC найдено
  • Если другой Заголовок найдено


End_file если целое имеет значение прекращения секторе количество файлов по end_file = петля; если любое из условий из трех удовлетворен. Теперь данные из секторов, начиная с сектора номер start_file на номер end_file сектор сохраняется в файле с функцией Recover_the_file ().


Previous page

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

Next page
 
 
Для восстановления данных книги
 
Глава 1 Обзор восстановления данных
Глава 2 Введение жестких дисков
Глава 3 Логический подход к дисков и ОС
Глава 4 Количество систем
Глава 5 Введение в программирование
Глава 6 Введение в информатику
Глава 7 Необходимые команды DOS
Глава 8 Диск - функции BIOS и прерывания контакта с C
Глава 9 Обработка больших жестких дисков
Глава 10 Восстановление данных с поврежденных дискет
Глава 11 Создание резервных копий
Глава 12 Чтение и изменение MBR с Programming
Глава 13 Чтение и Изменение DBR со Программирование
Глава 14 Программирование на "Сырье Файл" подъема
Глава 15 Программирование на данные Стеклоочистители
Глава 16 Разработка более Утилиты для дисков
Добавление Глоссарий терминов по восстановлению данных
 
 
Pro Data Doctor

Дом

Продукция

Контактная информация

Служба поддержки

Скачать демо -

Положения и условия

 
Pro Data Doctor