Получение имени и иконки съемного драйва.. |
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
Получение имени и иконки съемного драйва.. |
Unconnected |
30.06.2011 2:41
Сообщение
#1
|
mea culpa Группа: Пользователи Сообщений: 1 372 Пол: Мужской Реальное имя: Николай Репутация: 24 |
..и установка последней в качестве иконки своей программе (есть буква флешки или другого съемного носителя). Имя так получаю:
function getdname(d:string):string; //d-буква диска формата F:\ , но этот код меня смущает, прототип функции GetVolumeInformation другой в плане типов входных параметров, там LPSTR всякие.. А проверяю, подключился ли новый флеш,так:
-------------------- "Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
|
IUnknown |
30.06.2011 9:30
Сообщение
#2
|
a.k.a. volvo877 Группа: Пользователи Сообщений: 1 013 Пол: Мужской Репутация: 627 |
Цитата А проверяю, подключился ли новый флеш,так: В MSDN есть пример определения подключения/отсоединения устройств: Detecting Media Insertion or RemovalИли у тебя опять безоконное приложение? |
Unconnected |
30.06.2011 12:25
Сообщение
#3
|
mea culpa Группа: Пользователи Сообщений: 1 372 Пол: Мужской Реальное имя: Николай Репутация: 24 |
У меня оттуда и работает пример, только на делфи, событие подключения отлавливается. То есть, при запуске проги я записываю в множество drives буквы флешек, воткнутых в данный момент, и при срабатывании события подключения новой - ищу, какая буква ей присвоилась.. меня интересует правильность процедуры, которая имя получает.
Сообщение отредактировано: Unconnected - 30.06.2011 12:27 -------------------- "Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
|
IUnknown |
30.06.2011 12:44
Сообщение
#4
|
a.k.a. volvo877 Группа: Пользователи Сообщений: 1 013 Пол: Мужской Репутация: 627 |
Цитата У меня оттуда и работает пример иЦитата при запуске проги я записываю в множество drives буквы флешек, воткнутых в данный момент, и при срабатывании события подключения новой - ищу, какая буква ей присвоилась - это взаимоисключающие утверждения. Вся прелесть WM_DEVICECHANGE + DBT_DEVICEARRIVAL - в том, что тебе не надо искать, какая буква добавилась, тебе об этом сообщают одним из параметров, достаточно набор бит перевести в букву... Ну, хочешь так - делай так... Мне-то что...С getdname проблем не видно. Ну, разве что (все равно ты не используешь предпоследний параметр, название ФС) сделать так: function getdname(D : string) : string; |
Unconnected |
30.06.2011 21:31
Сообщение
#5
|
mea culpa Группа: Пользователи Сообщений: 1 372 Пол: Мужской Реальное имя: Николай Репутация: 24 |
Цитата достаточно набор бит перевести в букву Ага, я это знал, просто не сообразил как перевести) Нашёл рабочий, в общем. Ещё можно вопрос не по теме, где найти ключи в реестре, отвечающие за свойства папок? Хотя бы "скрывать\показывать расширения зарегистрированных...", весь гугл перерыл.. -------------------- "Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
|
IUnknown |
30.06.2011 21:48
Сообщение
#6
|
a.k.a. volvo877 Группа: Пользователи Сообщений: 1 013 Пол: Мужской Репутация: 627 |
Вот тут, насколько я понимаю (HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced):
Сообщение отредактировано: IUnknown - 30.06.2011 23:57 Эскизы прикрепленных изображений |
Unconnected |
1.07.2011 14:49
Сообщение
#7
|
mea culpa Группа: Пользователи Сообщений: 1 372 Пол: Мужской Реальное имя: Николай Репутация: 24 |
Спасибо, все настройки там) А в сети какие-то страшные ветки..
-------------------- "Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
|
Текстовая версия | 21.06.2024 16:58 |