Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
antiraper
Заблокирован
#1

Можно ли записать файл в срытый раздел диска? - C++

30.08.2013, 23:55. Просмотров 487. Ответов 5
Метки нет (Все метки)

Можно ли записать файл в срытый раздел диска? Всмысле нет у раздела буквы он скрыт, если простым языком, в 7-ке раздел создается автоматом насколько я знаю, нужна данная весчь для того что бы сохранять пару строк конфигурации, дабы не конфликтовать с deep freeze или восстановлением системы. Если скажите что пишу вирус, то сразу нет, домашнее задание при устройстве на работу. Уже все прогуглил перечитал(( ничего дельного не нашел...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.08.2013, 23:55
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Можно ли записать файл в срытый раздел диска? (C++):

Как можно рисунок из PaintBox записать в файл? - C++
В PaintBox есть рисунок как записать в файл?

создать файл 1.part и записать в него первые x элементов массива. После чего, создать второй файл 2.part, куда записать оставшиеся в массиве элементы. - C++
Не могу понять почему не работает вот этот кусок текста. ofstream q ("1.part"); for (int i=0; i<10; ++i) { q << mas ; ...

Как записать Recovery DVD на диск или раздел диска - Windows 8, 8.1
Имеетс ноутбук: HP Envy m6 1271er. Изначально на нем был Recovery раздел и однажды я его успешно удалил, о чкм жалею, когда ставил...

Можно ли удалить OEM раздел с жесткого диска ? - Windows 7
У меня простой Пк ( не ноутбук) Все время при переустановки не было этого раздела, а сегодня он появился. ( вчера обновил BIOS - удачно....

Чем можно отформатировать раздел диска, Windows XP - Windows XP
На старом компьютере глючила ось, поправить не удавалось, установил ее в другой раздел (диск D), затем установил и в тот раздел который...

Можно скопировать жесткий диск на раздел другого диска? - Жесткие диски
Здравствуйте, у меня есть винчестер от ноутбука и я хочу купить себе ssd винт, но пока нужно продать этот, а чтобы его продать, нужно...

5
Убежденный
Ушел с форума
Эксперт С++
15708 / 7218 / 1139
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
Завершенные тесты: 1
31.08.2013, 19:25 #2
Цитата Сообщение от antiraper Посмотреть сообщение
Можно ли записать файл в срытый раздел диска?
Можно.

Цитата Сообщение от antiraper Посмотреть сообщение
Уже все прогуглил перечитал(( ничего дельного не нашел...
CreateFile
DeviceIoControl
Disk Management Control Codes
Volume Management Control Codes

Можно открыть нужный диск/раздел и писать/читать напрямую в сектора.
Правда, с некоторыми ограничениями. Описано здесь:
http://msdn.microsoft.com/en-us/library/windows/hardware/jj856974.aspx
1
antiraper
Заблокирован
01.09.2013, 03:14  [ТС] #3
ок, уже сам копаю в эту сторону, но спасибо огромное) на небольшой пример мне надеятся полагаю не стоит, буду разбирать

Добавлено через 6 часов 39 минут
Что то не выходить получить если по русски метку тома, у которого нет буквы(( а потом сделать запись, мб кто еще подскажет?
0
Убежденный
Ушел с форума
Эксперт С++
15708 / 7218 / 1139
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
Завершенные тесты: 1
01.09.2013, 11:08 #4
Цитата Сообщение от antiraper Посмотреть сообщение
Что то не выходить получить если по русски метку тома, у которого нет буквы
Каким способом пытаетесь это делать ?
0
antiraper
Заблокирован
12.09.2013, 03:54  [ТС] #5
Убежденный,

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
  DWORD cc = MAX_PATH + 1;
    TCHAR vl[MAX_PATH] = "";
    PCHAR nm = new BYTE [cc * sizeof(TCHAR)];
    char DataBuffer[] = "This is some test data to write to the file.";
        DWORD dwBytesToWrite = (DWORD)strlen((Memo1->Text).c_str());
    DWORD dwBytesWritten = 0;
    HANDLE vH = FindFirstVolume(vl, MAX_PATH);
    if(vH!=INVALID_HANDLE_VALUE)
    for(;;)
       {
        nm[0] = 0;
        GetVolumePathNamesForVolumeName(vl, nm, cc, &cc);
         //       Memo3->Lines->Add(vl);
        //        Memo3->Lines->Add(cc);
                //+" "+nm+" "+cc );
        if(cc<=1)
        {
 
                    //     ShowMessage("2");
            strcat(vl, "settings.ini");
            HANDLE hFile= CreateFile(   vl,
                                        GENERIC_READ|GENERIC_WRITE,
                                        0,
                                        NULL,
                                        CREATE_ALWAYS,
                                        FILE_ATTRIBUTE_NORMAL,
                                        NULL);
            DWORD er = GetLastError();
//          if(er==0)
                {
                    printf("File created to %s \n", vl);
                    BOOL bErrorFlag = WriteFile(
                                hFile,           // open file handle
                                (Memo1->Text).c_str(),      // start of data to write
                                dwBytesToWrite,  // number of bytes to write
                                &dwBytesWritten, // number of bytes that were written
                                NULL);            // no overlapped structure
                    printf("Writed to them: %s\n", DataBuffer);
 
 
                    if( TRUE == ReadFile(hFile, DataBuffer, dwBytesToWrite-1, &dwBytesWritten, NULL) )
                    printf("And readed OK");
                }
             // Sleep(10000);
            CloseHandle(hFile);
        }
        vl[0] = 0;
        BOOL sc=FindNextVolume(vH, vl, MAX_PATH);
        if(!sc)break;
       };
    FindVolumeClose(vH);

сделал так в консоли работает, работает и в builder 6, но там с юникодом все плохо( поставил xe2 и не могу добиться записи юникода в файл... мб все же есть способ в перенести сей код в xe2 и писать юникод, у меня пока не выходит...
0
Alexey555
0 / 0 / 0
Регистрация: 12.08.2015
Сообщений: 12
18.09.2015, 10:37 #6
Все имейте ввиду, что antiraper - кидала Недобросовестные исполнители
0
18.09.2015, 10:37
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.09.2015, 10:37
Привет! Вот еще темы с ответами:

Как можно нанести на раздел диска файловую систему NTFS искусственно с WinHex? - Жесткие диски
С наступившим всех! На диске допустим есть раздел F. Емкость 0, заполнено 0, файловая система RAW. Можно ли НАНЕСТИ на него...

При подключении диска как внешнего через USB не отображается раздел с ОС, а данные с диска D не доступны - Windows 7
Здравствуйте! Имеется жесткий диск от ноутбука, который был вставлен в корпус для внешнего HDD. На диске 3 (с, d? e) раздела, один...

Записать все файлы с диска С в файл - C#
Есть немного странная задача, вообщем я хочу записать все файлы с диска С в файл. У меня есть рекурсивная функция, которая работает, но...

Можно ли стереть содержимое DVD-диска и записать туда свои файлы? - DVD, Blu-ray
Можно ли стереть содержимое DVD-диска(конкретно, это диск с пиратской игрушкой) и записать туда свои файлы? Скажем так, стереть с диска...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.