Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Физическое уничтожение данных?  (Прочитано 7007 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
tumanovalex
Помогающий

ru
Offline Offline

« : 15-02-2006 20:15 » 

Хотелось бы сделать с помощью С# программу типа WipeInfo, которая записывает в кластеры дискеты или флешки 1 или 0. Можно ли это реализовать на C# и если можно, то как?
Записан
npak
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #1 : 16-02-2006 10:50 » 

Да, можно, только процедуру записи в кластеры надо будет сделать на Си в DLL, а из С# вызывать.
Записан

UniTesK -- индустриальная технология надежного тестирования.

http://www.unitesk.com/ru/
tumanovalex
Помогающий

ru
Offline Offline

« Ответ #2 : 16-02-2006 17:56 » 

Спасибо большое за ответ. У меня были надежды, что есть какой-нибудь класс. Придется разбираться с С и DLL.
Записан
xelos
Гость
« Ответ #3 : 20-02-2006 16:18 » 

или экспортировать соответствующие функции WinAPI из кернела:
Код:
[DllImport("kernel32.dll", SetLastError=true)]
и потом че-нить типа:
Код:
void CCFDlg::ReadSector(DWORD startinglogicalsector)
{
// win 2k code
HANDLE hDevice;
DWORD bytesread;
   
// Creating a handle to drive a: using CreateFile () function ..
char _devicename[] = "\\\\.\\A:";
_devicename[4] += m_intDrive;
hDevice = CreateFile(_devicename,
        GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE,
        NULL, OPEN_EXISTING, 0, NULL);


//startinglogicalsector=0;
int numberofsectors=1;

char buf[512];

// Setting the pointer to point to the start of the sector we want to read ..
SetFilePointer (hDevice, (startinglogicalsector*512), NULL, FILE_BEGIN);
ReadFile (hDevice, buffer, 512*numberofsectors, &bytesread, NULL);

SetFilePointer (hDevice, (startinglogicalsector*512), NULL, FILE_BEGIN);
ReadFile (hDevice, buf, 512*numberofsectors, &bytesread, NULL);
ed_Sector.SetWindowText(buf);
}
тока для записи сектора, переписаное на C#
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines