Страница 1 из 1

Нужно что-то типа OpenAs_RunDLL!!!

Добавлено: 11 Май 2006, 12:25
Aragorn
Вот такая задача:

Как получить список установленных на машине программ, работающих с определенным типом файлов? И не только получить, а вывести на экран, и дать пользователю выбрать, а потом открыть файл в выбранной пррограмме?

В принципе подошло бы и

Код: Выделить всё

rundll32 shell32.dll, OpenAs_RunDLL имя_файлы
но как в этом случае определить, что нажал пользователь - ok (dblclick на проге) или же cancel (esc)???

Добавлено: 11 Май 2006, 13:06
StillZero
как один из вариантов:
все ассоциации расширений хранятся в реестре, можно просмотреть реестр на эту тему и показать самому список программ, соответственно нажатие определишь сам
открывать можно наверное и через ShellExecute, а можно наверное и просто через run('имя проги имя файла')

Можно еще посмотреть ф-ии типа: AssocQueryKey. Вроде на эту же тему.

Добавлено: 11 Май 2006, 13:11
Aragorn
Можно еще посмотреть ф-ии типа: AssocQueryKey
- это где посмотреть? что-то не догоняю?

Добавлено: 11 Май 2006, 13:21
StillZero
в MSDN-е:
http://msdn.com
Search
найдешь например вот это
http://msdn.microsoft.com/library/defau ... string.asp

на http://rsdn.ru тоже надо бы поискать

Добавлено: 11 Май 2006, 13:34
Aragorn
ясно... бум читать
спасибо

Добавлено: 11 Май 2006, 13:50
Aragorn
Function Information

Minimum DLL Version shlwapi.dll version 5.0 or later
А если previous?
может есть ещё способы?