| Автор
| Сообщение |
DM-Lg
Частый гость

Возраст: 41
Знак зодиака: 
Зарегистрирован: 12.09.2005
Сообщения: 30
Откуда: Луганск
|
|
|
Цитата |
|
Всем здрасте!
Необходимо открыть фото во внешнем приложении используемом win по умолчанию.
Подскажите пожалуйста, как по расширению определитель какой (какими) программами открываются документы. |
|
| В начало |
|
 |
|
|
 |
 Шурик
Я живу тут....

Возраст: 42
Знак зодиака: 
Зарегистрирован: 15.01.2003
Сообщения: 1951
Откуда: Киев
|
|
|
Цитата |
|
А зачем тебе определять каким приложением это открывается?
Можно предоставить это системе: WinExec( имя_файла, SW_Show )
Ещё вариант: ShellExecute( 0, 'open', имя_файла, nil, nil, SW_SHOW )
Добавлено спустя 7 минут 51 секунду:
Если тебе нужно именно приложение, ассоциированное расширению -- можно найти через реестр. Открой regedit на значении "HKEY_CLASSES_ROOT\.<расширение>" . Там будет значение по умолчанию. Это имя ключа реестра, где описаны действия. Открываешь "HKEY_CLASSES_ROOT\<имя>\shell\open\command". Там прописана команда для открытия файла. Наверно есть какой-то API для этого, но я его не знаю. _________________ Ответ готов, готов ли твой вопрос? |
|
| В начало |
|
 |
DM-Lg
Частый гость

Возраст: 41
Знак зодиака: 
Зарегистрирован: 12.09.2005
Сообщения: 30
Откуда: Луганск
|
|
|
Цитата |
|
Спасибо за ответ. Не всегда по умолчанию лучшая для просмотра фото, а выбор это хорошо ).
Я перестал тупить и нашел - список программ лежит в ветке HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts. |
|
| В начало |
|
 |
 Ktf
Администратор

Возраст: 32
Знак зодиака: 
Зарегистрирован: 15.05.2005
Сообщения: 1502
Откуда: localhost
|
|
|
Цитата |
|
Если нужен выбор программы, то можно воспользоваться еще одной возможностью системы: вызвать для твоего файла стандартный диалог выбора "Открыть с помощью".
| delphi: | WinExec(PChar('rundll32.exe shell32.dll,OpenAs_RunDLL '+FileName), SW_SHOW);
|
_________________ Пойду посплю перед сном. |
|
| В начало |
|
 |
|