Описание функции


AssocExe

Получить путь программы ассоциированной с файлом.

AssocExe(Ext$, *Act)

Параметры

Ext$ Расширение, например ".txt", с точкой
*Act Обычно 0, но если требуется пункт реестра например "edit", то указатель на строку.

Возвращаемое значение

Успех:Возвращает строку путь к файлу
Ошибка:Возвращает текст "Error"

Пример

EnableExplicit

#ASSOCSTR_COMMAND = 1 ; получить командную строку
#ASSOCSTR_EXECUTABLE = 2 ; получить только исполняемый файл
#ASSOCSTR_PROGID = 20 ; получить ProgID файла

#ASSOCF_VERIFY = $40 ; запрос не просто берёт данные из реестра, а ещё и проверяет файл на диске

Procedure.s AssocExe(Ext$, *Act)
    Protected Size, OutRes.s
    AssocQueryString_(#ASSOCF_VERIFY, #ASSOCSTR_EXECUTABLE, @Ext$, *Act, 0, @Size)
    OutRes = Space(Size)
    If AssocQueryString_(#ASSOCF_VERIFY, #ASSOCSTR_EXECUTABLE, @Ext$, *Act, @OutRes, @Size)
        OutRes = "Error"
    EndIf
    ProcedureReturn OutRes
EndProcedure

Debug AssocExe(".cmd", @"edit")
Debug AssocExe(".cmd", 0) ; "open"
Debug AssocExe(".txt", @"edit")
Debug AssocExe(".txt", 0) ; "open"