Запись в сектор на диске

Тема в разделе "LANGS.C", создана пользователем drem1lin, 15 фев 2011.

  1. drem1lin

    drem1lin Member

    Публикаций:
    0
    Регистрация:
    17 мар 2009
    Сообщения:
    300
    Хочу написать программу? записывающую с некоторого сектора определенный буфер на жесткий диск

    Для этого открываю жесткий диск
    Код (Text):
    1. hFile = CreateFile("\\\\.\\PHYSICALDRIVE0",GENERIC_READ|GENERIC_WRITE,FILE_SHARE_READ|FILE_SHARE_WRITE,NULL,OPEN_EXISTING,0,NULL);
    и получаю ERROR_SUCCESS, что я не так делаю? надо для WinXP

    И второй вопрос как их диалогового окна получить int64(т.е. 64х битное число описывающее номер сектора).
     
  2. cppasm

    cppasm New Member

    Публикаций:
    0
    Регистрация:
    18 июл 2006
    Сообщения:
    923
    А ты что получить хотел?
     
  3. drem1lin

    drem1lin Member

    Публикаций:
    0
    Регистрация:
    17 мар 2009
    Сообщения:
    300
    Я понимаю, но вместо хэндл получаю INVALID_HANDLE_VALUE

    я сделал
    Код (Text):
    1. hDisk  = CreateFile(L"\\\\.\\PHYSICALDRIVE0",GENERIC_READ,FILE_SHARE_READ|FILE_SHARE_WRITE,NULL,OPEN_EXISTING,0,NULL);
    2.                     err = GetLastError();
    3.                     if (hDisk = INVALID_HANDLE_VALUE)
    4.                     {
    5.                         CloseHandle(hFileToBeWritten);
    6.                         SetDlgItemInt(hwndDlg,IDC_EDIT1,err,FALSE);
    7.                         MessageBox(hwndDlg,L"Не удается открыть жесткий диск",L"ошибка",MB_OK|MB_ICONERROR);
    8.                         break;
    9.                     }
    и в EDIT1 записывается значение 0
     
  4. cppasm

    cppasm New Member

    Публикаций:
    0
    Регистрация:
    18 июл 2006
    Сообщения:
    923
    Може всё-таки равно, а не присвоить?
     
  5. drem1lin

    drem1lin Member

    Публикаций:
    0
    Регистрация:
    17 мар 2009
    Сообщения:
    300
    оппппаааа=))) завтра проверю..
     
  6. drem1lin

    drem1lin Member

    Публикаций:
    0
    Регистрация:
    17 мар 2009
    Сообщения:
    300
    cppasm вы абсолютно правы, вся ошибка в этом. Осталась вторая часть вопроса, как получить 64битное число из EDITBOX
     
  7. cppasm

    cppasm New Member

    Публикаций:
    0
    Регистрация:
    18 июл 2006
    Сообщения:
    923
    Получать как текст и самому конвертировать.