Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.68/22: Рейтинг темы: голосов - 22, средняя оценка - 4.68
 Аватар для СтуденT
6 / 6 / 1
Регистрация: 18.12.2011
Сообщений: 126

GetVolumeInformation

26.03.2012, 20:50. Показов 4308. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток.Имеется задача получить имя системного тома, использую функцию GetVolumeInformation и параметр IpRootPathName хочу загнать в textbox.Подскажите как и во что нужно преобразовать этот параметр в String?Пробовал
C++
1
System::String^ str = gcnew String(IpRootPathName)
всегда выдает ошибки невозможности преобразования.Вот наброски
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
private: System::Void button3_Click(System::Object^  sender, System::EventArgs^  e) 
         {
             
        
        char IpRootPathName[100];
 
            GetVolumeInformationW(
            NULL,
            IpRootPathName,
            100,
            NULL,
            NULL, 
            NULL, 
            NULL,
            NULL
            );  
 
 
                    System::String^ str = gcnew String(IpRootPathName);
                    textBox1->Text =str;
                
         }
но выдает ошибку нельзя преобразовать параметр 2 из char[100] в LPWSTR

Добавлено через 1 час 12 минут
С этой проблемой разобрался вот исправил
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
private: System::Void button3_Click(System::Object^  sender, System::EventArgs^  e) 
         {
             
        
        TCHAR volumeName[MAX_PATH + 1] = { 0 };
 
        
            GetVolumeInformationW(
            NULL,
            volumeName,
            ARRAYSIZE(volumeName),
            NULL,
            NULL, //&MaximumComponentLength,
            NULL, //&FileSystemFlags,
            NULL,
            NULL
            );  
 
 
            System::String^ str = gcnew String(volumeName);
            MessageBox::Show(str);
         }
только она у меня выдает имя тома для текущей директории, а как сделать чтобы вывести имена всех имеющихся томов?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
26.03.2012, 20:50
Ответы с готовыми решениями:

GetVolumeInformation!
include <Windows.h> include <iostream> int main() { char Name; char NameFileSystem; DWORD SerialNumber; DWORD...

GetVolumeInformation, тернарная операция и if
#include <windows.h> #include <iostream> int main(){ LPCWSTR lpFileName = L"*"; WIN32_FIND_DATA FindData; HANDLE...

GetVolumeInformation выдает разный Serial
LPWSTR VolumeNameBuffer = 0; wchar_t FileSystemNameBuffer; LPDWORD sz = 0,fs = 0; unsigned long drive_sn = 0; ...

5
Brainsbreaker
 Аватар для Digit@ll
899 / 374 / 54
Регистрация: 01.02.2011
Сообщений: 1,608
26.03.2012, 21:03
Если всех, то много кода, а так - первый параметр для этого.
0
 Аватар для СтуденT
6 / 6 / 1
Регистрация: 18.12.2011
Сообщений: 126
26.03.2012, 21:11  [ТС]
И все таки, как это сделать скинь пример если есть?
0
Brainsbreaker
 Аватар для Digit@ll
899 / 374 / 54
Регистрация: 01.02.2011
Сообщений: 1,608
26.03.2012, 23:02
Ну ты что, не разберешся с параметрами? Первый параметр, например: "D:\\". Пример если бы и был, то он бы тебе не подошел. У тебя формы?
0
 Аватар для СтуденT
6 / 6 / 1
Регистрация: 18.12.2011
Сообщений: 126
27.03.2012, 16:37  [ТС]
Цитата Сообщение от Digit@ll Посмотреть сообщение
Ну ты что, не разберешся с параметрами? Первый параметр, например: "D:\\". Пример если бы и был, то он бы тебе не подошел. У тебя формы?
Да все разобрался уж)) взял функцию GetDiskDrive() и в цикле для каждого диска выводил имя, не так уж и много получилось
0
Brainsbreaker
 Аватар для Digit@ll
899 / 374 / 54
Регистрация: 01.02.2011
Сообщений: 1,608
27.03.2012, 18:43
Ну вот, одной функцией.

Не по теме:

При чем здесь API?

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
27.03.2012, 18:43
Помогаю со студенческими работами здесь

Не получается вывести результат функции GetVolumeInformation
#include "stdafx.h" #include "windows.h" #include <stdio.h> #include <iostream> int _tmain(int argc, _TCHAR* argv) { BOOL...

Функция GetVolumeInformation() не выводит результатов. Исправить код
Вот код: char VolumeName ; char FileSystem ; int Serial; bool flag=GetVolumeInformation (L"C:\\",(LPWSTR)VolumeName,...

GetVolumeInformation()
я использую функцию GetVolumeInformation(), чтоб определить файловую систему диска Е:. почему, если я использую константу в качестве...

Вызов функции GetVolumeInformation
Всем привет, хочу сделать что бы номер жеского диска шифровался, но выбивает ошибку. GetVolumeInformationA(NULL, VolumeNameBuffer,...

Трабл с GetVolumeInformation и NTFS
Собственно, сабж :) При использовании функции применительно к разделу с NTFS каждый раз возвращается разный serial number.. ...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru