![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Низкоуровневая работа с HDD [D6, WinXP]
Rocket © (2004-11-15 22:37:00)Необходима информация по данной теме.
Желательно открыть винчестер как поток, не смотря на файловую систему.
И работать это должно не только в Win98 :)
Если у кого есть доки или интересные ссылки, будьте добры, поделитесь.
Спасибо.
Rocket (2004-11-17 10:39:00) [1]msdn смотрел. Но DiskIoControl намного облегчает работу.
Спасибо.
Игорь Шевченко (2004-11-16 00:57:00) [2]
> Желательно открыть винчестер как поток, не смотря на файловую
> систему
> Если у кого есть доки или интересные ссылки, будьте добры,
> поделитесь.
CreateFile, ReadFile, WriteFile
http://msdn.microsoft.com
Все очень просто.
> Извините за невежество, а URL не подскажете? :)
http://www.schevchenko.net.ru/
Смотреть DeviceIoControl для примера CreateFile.
А открыть на чтение очень просто, с использованием класса из упомянутой ссылки:
uses
Windows, Classes, Graphics, Controls, Forms, StdCtrls,
DiskIoControl;
type
TfMain = class(TForm)
DumpListBox: TListBox;
.....
procedure FormCreate(Sender: TObject);
private
FDisk : TDiskIoControl;
FSectorBuffer : array[0..511] of Char;
......
end;
procedure TfMain.FormCreate(Sender: TObject);
var
ReadBytes: Cardinal;
begin
FDisk := TDiskIoControl.Create(0);
ReadFile(FDisk.Handle, FSectorBuffer, SizeOf(FSectorBuffer), ReadBytes, nil);
if ReadBytes <> SizeOf(FSectorBuffer) then
RaiseLastOSError;
DumpMemoryToListBox(DumpListBox, FSectorBuffer, SizeOf(FSectorBuffer));
end;
Rocket (2004-11-15 22:45:00) [3]Извините за невежество, а URL не подскажете? :)
GanibalLector (2004-11-15 22:38:00) [4]на сайте Игоря Шевченко поищи...