Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно
MKN MKN вне форума

Ветеран


Сообщения: 2355
Благодарности: 557

Профиль | Отправить PM | Цитировать


Среди API функций, есть функция FindExecutable, которая находит имя приложения, связанного с заданным типом файла.
К примеру, эту функцию можно задействовать для определения браузера по умолчанию, что часто необходимо.
Алгоритм нахождения такой : в браузере, как правило, открываются файлы htm и html. Создаём временно такой файл, "натравливаем" на него функцию и ищем приложение, которое открывает этот тип файлов.
Код: Выделить весь код
Name "opens_by_default"
Caption "opens_by_default"
OutFile "opens_by_default.exe"

Section
StrCpy $R1 htm
FileOpen $0 "$TEMP\opens_by_default.$R1" "w"
FileClose $0
System::Call "Shell32::FindExecutable(t '$TEMP\opens_by_default.$R1', i 0, t .r1)" 
Delete "$TEMP\opens_by_default.$R1"
MessageBox MB_OK '$R1 файлы по умолчанию открывает  : $1 '
SectionEnd
Таким же образом можно получить данные о программах, открывающих другие типы файлов. Для этого указываем в коде нужное расширение файла.

Последний раз редактировалось MKN, 15-01-2013 в 12:31.

Это сообщение посчитали полезным следующие участники:

Отправлено: 11:46, 15-01-2013 | #73