Хочу написать программу? записывающую с некоторого сектора определенный буфер на жесткий диск Для этого открываю жесткий диск Код (Text): hFile = CreateFile("\\\\.\\PHYSICALDRIVE0",GENERIC_READ|GENERIC_WRITE,FILE_SHARE_READ|FILE_SHARE_WRITE,NULL,OPEN_EXISTING,0,NULL); и получаю ERROR_SUCCESS, что я не так делаю? надо для WinXP И второй вопрос как их диалогового окна получить int64(т.е. 64х битное число описывающее номер сектора).
Я понимаю, но вместо хэндл получаю INVALID_HANDLE_VALUE я сделал Код (Text): hDisk = CreateFile(L"\\\\.\\PHYSICALDRIVE0",GENERIC_READ,FILE_SHARE_READ|FILE_SHARE_WRITE,NULL,OPEN_EXISTING,0,NULL); err = GetLastError(); if (hDisk = INVALID_HANDLE_VALUE) { CloseHandle(hFileToBeWritten); SetDlgItemInt(hwndDlg,IDC_EDIT1,err,FALSE); MessageBox(hwndDlg,L"Не удается открыть жесткий диск",L"ошибка",MB_OK|MB_ICONERROR); break; } и в EDIT1 записывается значение 0
cppasm вы абсолютно правы, вся ошибка в этом. Осталась вторая часть вопроса, как получить 64битное число из EDITBOX