![]() |
|
![]() ![]() ![]() |
|
бройлер |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 26.11.2006 Где: Сургут Репутация: нет Всего: нет |
Нужно написать программу, которая распозновала бы флэшку и CD. Определяла бы тип носителя, размер места на нем ну т.д. Я написал вот такую штуку, но уменя больше ума не хватает ее закончить. Она работает, но только выдает информацию при вставке флэшки или носителя, и выемки их. Остальное ничего не работает. Я не могу ее дописать. Хотелось бы еще чтобы она выполняла копирование файлов куда нибудь с носителя. Заранее спасибо.
#include <vcl.h> #pragma hdrstop #include "Unit1.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void __fastcall TForm1::WndProc(Messages::TMessage &Message) { switch(Message.Msg) { case WM_DEVICECHANGE: switch(Message.WParam) { case DBT_DEVICEARRIVAL: { ShowMessage("DEVICEARRIVAL!"); DEV_BROADCAST_HDR* p = (DEV_BROADCAST_HDR*)Message.LParam; p->dbch_devicetype; break; } case DBT_DEVICEQUERYREMOVE: { ShowMessage("DEVICEQUERYREMOVE!"); DEV_BROADCAST_HDR* q = (DEV_BROADCAST_HDR*)Message.LParam; q->dbch_reserved; break; } case DBT_CONFIGCHANGED: { ShowMessage("CONFIGCHANGED!"); break; } case DBT_DEVICEREMOVECOMPLETE: { ShowMessage("DEVICEREMOVECOMPLETE!"); DEV_BROADCAST_HDR* s = (DEV_BROADCAST_HDR*)Message.LParam; s->dbch_size; break; } Close(); } } TForm::WndProc(Message); } void __fastcall TForm1::DeviceMsgHeaderDecode(Messages::TMessage &Message) { DEV_BROADCAST_HDR* p = (DEV_BROADCAST_HDR*)Message.LParam; switch(p->dbch_devicetype) { case DBT_DEVTYP_DEVICEINTERFACE: ShowMessage("DEV_BROADCAST_DEVICEINTERFACE structure" ); break; case DBT_DEVTYP_HANDLE: ShowMessage("The DEV_BROADCAST_HANDLE structure" ); break; case DBT_DEVTYP_OEM: ShowMessage("The DEV_BROADCAST_OEM structure" ); break; case DBT_DEVTYP_PORT: ShowMessage("The DEV_BROADCAST_PORT structure" ); break; case DBT_DEVTYP_VOLUME: ShowMessage("The DEV_BROADCAST_VOLUME structure" ); DEV_BROADCAST_VOLUME* q=(DEV_BROADCAST_VOLUME*)Message.LParam; break; } } |
|||
|
||||
Partizan |
|
|||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: 7 Всего: 67 |
если вся инфа по девайсу получена, то наверняка известна и литера которая новому носителю в системе присвоена...
копирование можно сделать точно также как и на локальном диске....между локальными дисками... -------------------- СУВ, Partizan. |
|||
|
||||
бройлер |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 26.11.2006 Где: Сургут Репутация: нет Всего: нет |
Если не сложно могли бы прописать, как это можно сделать?
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++ Builder" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C++ Builder | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |