Проблема в следующем, надо проверь есть ли на диске программа ассоциированная например с txt.
Путь может содержать как переменные среды cmd.exe, так и полный путь к программе.
Нет ли более универсального способа, а то мой вариант мне не особо нравится.
Путь может содержать как переменные среды cmd.exe, так и полный путь к программе.
Нет ли более универсального способа, а то мой вариант мне не особо нравится.
Код:
Func CheckProg()
Local $sPathProg = RegRead("HKEY_CLASSES_ROOT\txtfile\shell\open\command", "")
$sPathProg = StringRegExpReplace($sPathProg, ' %.', '')
Local $sPath = StringRegExpReplace($sPathProg, '\\.*', '')
If $sPath = '%SystemRoot%' Then $sPath = @WindowsDir
ConsoleWrite($sPathProg & @CRLF)
$sPathProg = StringReplace($sPathProg, '%SystemRoot%', $sPath)
ConsoleWrite($sPathProg & @CRLF)
If FileExists($sPathProg) = 1 Then
ConsoleWrite("OK" & @CRLF)
Else
ConsoleWrite("ERROR" & @CRLF)
EndIf
EndFunc ;==>CheckProg