|
1 / 1 / 0
Регистрация: 16.10.2013
Сообщений: 5
|
|
Как реализовать работу с дисками компьютера в C++ Visual с использованием Win32 API16.10.2013, 21:16. Показов 4549. Ответов 9
Метки нет (Все метки)
Доброго времени суток. У меня есть вопрос по реализации работы функции GetDiskFreeSpace. Я находил примеры в интернете для реализации этой функции, но они были написаны в консольном режиме ( Информация о свободном месте на жестких дисках), мне же нужно написать ее с помощью Win32 API в оконном режиме. Как отобразить результат и можно ли это сделать с помощью MessageBox(), или есть какой-то метод попроще? Помогите пожалуйста.
P.S. Было бы неплохо если бы у пользователя была возможность выбирать диск из имеющихся на данный момент.
1
|
|
| 16.10.2013, 21:16 | |
|
Ответы с готовыми решениями:
9
В Win32 Api под Visual Studio что-то не так с кодировками Работа с дисками с использованием функций API Консольный мессенджер VK, подскажите как реализовать работу с API, пожалуйста |
|
87 / 86 / 27
Регистрация: 04.10.2012
Сообщений: 355
|
||||||
| 17.10.2013, 04:13 | ||||||
1
|
||||||
|
1 / 1 / 0
Регистрация: 16.10.2013
Сообщений: 5
|
||
| 17.10.2013, 11:48 [ТС] | ||
|
**************************** LPCSTR RootPathName; LPCTSTR RootPathName1; LPDWORD SectorsPerCluster; LPDWORD BytesPerSector; LPDWORD NumberOfFreeClusters; LPDWORD TotalNumberOfClusters; DWORD FREE; **************************** case IDM_GDFS: GetDiskFreeSpace ( "C:\\", SectorsPerCluster, BytesPerSector, NumberOfFreeClusters, TotalNumberOfClusters ); FREE=SectorsPerCluster*BytesPerSector* NumberOfFreeClusters; MessageBox(hWindow, "Вильно:" + (FREE), "Повідомлення", MB_OK); break; Вот примерно так я хочу реализовать, но вот выдает ошибку тут (FREE=SectorsPerCluster*BytesPerSector* NumberOfFreeClusters; ) с типамы данных, я что-то не разобрался, учил с++ очень давно уже, а тут как бы появилась нужда. И что-то мне подсказует что с MessageBox() я тож намутил. Добавлено через 15 минут Все проблема с типамы данных решена, написал следующий код: FREE=(DWORD64)SectorsPerCluster*(DWORD64 )BytesPerSector*(DWORD64)NumberOfFreeClu sters; Осталось сделать вывод информации, и выбор диска, помогите пожалуйста. Думал выбор сделать через comboBox но понятия не имею как это сделать. Там есть фукция getlogicaldrives но как ее использовать я низнаю.
0
|
||
|
87 / 86 / 27
Регистрация: 04.10.2012
Сообщений: 355
|
|||||||||||
| 17.10.2013, 19:41 | |||||||||||
|
Конкатекация строк не может быть организована операцией "+". "Hello " + "World!" - это не "Hello World!". Это сумма двух адресов памяти. Для слияния строк используйте функцию strcat.
Насчет комбобокса ничего не посоветую, пусть другие напишут. Потому что я не работаю с IDE. Используйте функцию, которую я предложил. Чтобы было именно так, как у вас, замените в ней строки 8 и 9 на:
1
|
|||||||||||
|
1 / 1 / 0
Регистрация: 16.10.2013
Сообщений: 5
|
|
| 17.10.2013, 20:58 [ТС] | |
|
Я понимаю что GetDiskFreeSpaceEx() проще, и не будет приколов если памяти больше 2 Гб, но это часть курсовой, и тут уже никак не замениш.
Может как-то через Memo вывести информацию, может так будет проще? А как выбрать диск Вы не подскажете?
0
|
|
|
87 / 86 / 27
Регистрация: 04.10.2012
Сообщений: 355
|
|
| 17.10.2013, 21:43 | |
|
Почему бы не создать текстовое поле, в которое юзер будет писать нужный ему диск?
0
|
|
|
1 / 1 / 0
Регистрация: 16.10.2013
Сообщений: 5
|
||
| 17.10.2013, 22:09 [ТС] | ||
|
0
|
||
|
|
|
| 18.10.2013, 00:23 | |
|
z0iberg, держи
Ошибка при открытие CD-ROW в коде В проекте на много больше чем тебе нужно (контекстное меню(меню по правой кнопке мыши), трей и бинго - возможность вытолкнуть любой лоток из РОМ-ов системы)
1
|
|
|
1 / 1 / 0
Регистрация: 16.10.2013
Сообщений: 5
|
|||||||
| 18.10.2013, 09:35 [ТС] | |||||||
0
|
|||||||
|
|
|
| 19.10.2013, 11:45 | |
|
z0iberg, прочти Этапы создания MFC приложения
0
|
|
| 19.10.2013, 11:45 | |
|
Помогаю со студенческими работами здесь
10
Скажите, пожалуйста, как правильно реализовать работу методов класса в lua api c++
Создание проекта win32 api в среде visual studio Разработка GUI средствами Win32 Api в среде программирования Visual C++ Win32 API, как создать меню? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
|
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/
O1rJuneU_ls
https:/ / vkvideo. ru/ video-115721503_456239114
|
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ВВЕДЕНИЕ
Введу сокращения:
аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
|
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi
ветка по-частям.
коммит Create переделка под биомассу. txt
вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
|