![]() |
Как аккуратно(!) обнаружить подключение флешки?
Как это сделать аккуратно?То есть что бы и флопик не тарахтел,и процессор излишне на слабых машинах не грузился ,и что бы не возникало никаких подозрительных симтопом при вставке\выбросе оптических дисков.
ЗЫ:ганять в цикле по алфавиту GetDriveType как то не очень хочется. |
Гоняй в цикле по алфавиту начиная с B по Z и не будет тарахтеть флопик
|
Цитата:
|
Предыдущий автор прав. Копать в сторону событий.
http://msdn.microsoft.com/en-us/library/aa363205(VS.85).aspx |
Не совсем понял технологию.Это что надо перхватывать WindowProc и смотреть что там в uMsg ?
|
>> Это что надо перхватывать WindowProc и смотреть что там в uMsg ?
нет. вы регистрируете свой обработчик. и система его вызовет, котгда устройство будет присоединено http://msdn.microsoft.com/en-us/library/aa363432(VS.85).aspx |
ВОт нагуглил более простой пример чем на МСДН
Код:
#include <windows.h> |
Цитата:
|
Цитата:
#pragma comment(linker,"/ENTRY:main") и #pragma comment(linker,"/SUBSYSTEM:CONSOLE") |
все верно что 5 раз, просто из всего этого изобилия надо выбрать все что попадает под event = DBT_DEVICEARRIVAL
|
I need MFC solution
Данный код отлично собирается как Win32 Application.
Подскажите как реализовать с использованием MFC :confused: гугл выдал кусок кода: Цитата:
Код:
error C4716: 'OnDeviceChange' : must return a value Error executing cl.exe.Код:
return 0;Код:
MainFrm.obj : error LNK2001: unresolved external symbol "public: long __thiscall CMainFrame::OnDeviceChange(unsigned int,long)" (?OnDeviceChange@CMainFrame@@QAEJIJ@Z) |
Решение под MFC
Проблему решил. Привожу ниже мануал.
Мини-Мануал для MFC 1) В хайдер мейнфрейма (MainFrm.h) добавляем в описание класса прототип функции OnDeviceChange (в protected:) PHP код:
PHP код:
PHP код:
PHP код:
Файл проекта + собранный exe |
| Время: 05:37 |