Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.02.10;
Скачать: CL | DM;

Вниз

Флешка   Найти похожие ветки 

 
Denis__ ©   (2008-01-04 19:24) [0]

Доброго времени суток всем.
Не подскажите, как узнать, что человек воткнул флешку? Может приходит сообщение какое-то, или ещё что?


 
Джо ©   (2008-01-04 19:25) [1]

Сообщение WM_DEVICECHANGE


 
koha overload   (2008-01-04 19:28) [2]


> Джо ©   (04.01.08 19:25) [1]
> Сообщение WM_DEVICECHANGE


а кот первый его получит?


 
Джо ©   (2008-01-04 19:33) [3]

> [2] koha overload   (04.01.08 19:28)
>
> > Джо ©   (04.01.08 19:25) [1]
> > Сообщение WM_DEVICECHANGE
>
>
> а кот первый его получит?

Нет, кот — вряд ли.


 
engine ©   (2008-01-04 19:34) [4]

> [2] koha overload   (04.01.08 19:28)

так ты куда флешку решил воткнуть-то?


 
{RASkov} ©   (2008-01-04 19:39) [5]

> [4] engine ©   (04.01.08 19:34)

Если я правильно подумал о чем вообще разговор - то таки-да... кот всех известит о "втыклянии" флэшки
:)


 
Denis__ ©   (2008-01-04 19:46) [6]


> а кот первый его получит?

Это не важно:) Спасибо, Джо!

А вот правильно ли я понял, что Message.WParam содержит номер этой самой флешки? Т.е. Узнать букву можно так
chr(ord("a")+Message.WParam)
?
Или просто у меня совпало : Message.WParam = 7, буква флехи - H?


 
koha overload   (2008-01-04 19:47) [7]


> engine ©   (04.01.08 19:34) [4]
> > [2] koha overload   (04.01.08 19:28)так ты куда флешку
> решил воткнуть-то?


Я не куда не собирался, может он знает - [Denis__ ©   (04.01.08 19:24)]

> как узнать, что человек воткнул флешку?
- если человек воткнул не туда куда надо, то вопросик то в самую тему, а кот первый его получит? Хозяин хук в левое ухо или компютер?


 
Denis__ ©   (2008-01-04 19:49) [8]


> если человек воткнул не туда куда надо

он(она точнее) будет втыкать туда, куда надо.:)


 
Johnmen ©   (2008-01-04 19:49) [9]


> Не подскажите, как узнать, что человек воткнул флешку?

Сообщение WM_ISTHEHUMAN.


 
{RASkov} ©   (2008-01-04 19:50) [10]

> [6] Denis__ ©   (04.01.08 19:46)
> А вот правильно ли я понял, что Message.WParam содержит
> номер этой самой флешки?

Нет... не правильно.

Event = (UINT) wParam;
dwData = (DWORD) lParam;

Parameters

Event

Event type. This parameter can be one of the following values:
Value Meaning
DBT_CONFIGCHANGECANCELED  A request to change the current configuration (dock or undock) has been canceled.
DBT_CONFIGCHANGED The current configuration has changed, due to a dock or undock.
DBT_DEVICEARRIVAL A device has been inserted and is now available.
DBT_DEVICEQUERYREMOVE Permission is requested to remove a device. Any application can deny this request and cancel the removal.
DBT_DEVICEQUERYREMOVEFAILED A request to remove a device has been canceled.
DBT_DEVICEREMOVECOMPLETE A device has been removed.
DBT_DEVICEREMOVEPENDING A device is about to be removed. Cannot be denied.
DBT_DEVICETYPESPECIFIC A device-specific event has occurred.
DBT_QUERYCHANGECONFIG  Permission is requested to change the current configuration (dock or undock).
DBT_USERDEFINED  The meaning of this message is user-defined.


dwData
Address of a structure that contains event-specific data. Its meaning depends on the given event.


 
Denis__ ©   (2008-01-04 19:55) [11]


> Нет... не правильно.

А как тогда узнать букву?


 
koha overload   (2008-01-04 20:02) [12]

Вот чего еще нарыл в googl
первое про сидеромы
http://www.swissdelphicenter.ch/torry/showcode.php?id=372
второе про usb flash
http://delphimaster.net/view/11-1160629902/
а это запрос:
http://www.google.com/search?client=opera&rls=ru&q=WM_DEVICECHANGE&sourceid=opera&ie=utf-8&oe=utf-8


 
Denis__ ©   (2008-01-04 20:07) [13]


> http://delphimaster.net/view/11-1160629902/

Утанул в коде. Мне б только букву получить:(


 
koha overload   (2008-01-04 20:17) [14]

Я так предпочел другой алгоритм:
мониторим за изменением количества дисков,  как только изменилось проверяем, является ли новый диск съемным, затем является ли он флэш-устройством. а затем уже все остальное....
работает приемлемо и время выполнения тоже преемлемое, правдо как то все наоборот, но работает.


 
{RASkov} ©   (2008-01-04 20:36) [15]

> [13] Denis__ ©   (04.01.08 20:07)
> Утанул в коде. Мне б только букву получить:(

Ну дык про сидиром (первую) глянь
замени
DBTF_Media = $0001;
на
DBTF_Remove = $0000;
и сответственно в коде ....


 
Anatoly Podgoretsky ©   (2008-01-05 13:25) [16]

> koha overload  (04.01.2008 19:28:02)  [2]

Как повезет, но чаще раньше мышка.


 
Denis__ ©   (2008-01-06 12:02) [17]

Спасибо  Джо ©, koha overload, {RASkov} © очень помогли (а точнее не помогли, а дали решение)


> koha overload   (04.01.08 20:17) [14]

До этого алгоритма я тоже додумался. Но [15] будет лучше. Или есть какие-то подводные камни?



Страницы: 1 вся ветка

Текущий архив: 2008.02.10;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.023 c
15-1199300008
@!!ex
2008-01-02 21:53
2008.02.10
Защита данных. Virtual Box


2-1200234821
cr@nk
2008-01-13 17:33
2008.02.10
Консольное приложение (пара вопросов)


11-1183728247
Stan
2007-07-06 17:24
2008.02.10
Баг - Undeclared identifier: @@chk_other_KEYMSGS


4-1183450487
Magedon
2007-07-03 12:14
2008.02.10
Как узнать какие приложения держат файл?


15-1199483161
Артем
2008-01-05 00:46
2008.02.10
Трабл с запуском Delphi6