Описание функции
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"