11.01.2011, 13:10
|
|
Let Me Show You
|
|
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
|
|
PChar('\\.\PHYSICALDRIVE0') - первый жесткий в системе и работай с массивом байт, строка обрезается по символу #0:
Код:
var
h: THandle;
buf: array [0..$ffff] of Byte;
dummy: Cardinal;
i: Integer;
begin
h:=CreateFile(
PChar('\\.\PHYSICALDRIVE0'),
GENERIC_READ or GENERIC_WRITE,
0,
nil,
OPEN_EXISTING,
0,
0
);
if h=0 then raise Exception.Create(SysErrorMessage(GetLastError));
SetFilePointer(h, $0000, nil, FILE_BEGIN);
if ReadFile(h, buf, SizeOf(buf), dummy, nil) then
for i:=0 to 100 {dummy} do Memo1.Text:=Memo1.Text+'%'+IntToHex(buf[i], 2)
else
ShowMessage(SysErrorMessage(GetLastError));
CloseHandle(h);
end;
ЗЫ. пока отвечал снова опередили
__________________
Пишу программы за еду.
__________________
|