Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Аватара для madmasles

Ветеран


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

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


semiono,
Нет, давайте конкретно.
1. Если есть Cubase.exe, то запускается Cubase.exe и выход.
2. Если Cubase.exe нет, то ищем Nuendo.exe, нашли - запускаем и выход.
3. Если нет не того не другого, то что запускаем?

Вот так у меня получилось:
Код: Выделить весь код
$aReturnCubase = _FileSearch(@ProgramFilesDir, "Cubase*.exe")
$aReturnNuendo = _FileSearch(@ProgramFilesDir, "Nuendo*.exe")

If $aReturnCubase[0] <> 0 Then
    Run($aReturnCubase[1])
    Exit
ElseIf $aReturnNuendo[0] <> 0 Then
    Run($aReturnNuendo[1])
    Exit
Else
    MsgBox(0, "", " Не найден ни Cubase*.exe, ни Nuendo*.exe")
EndIf
Exit

Func _FileSearch($sPath, $sFileMask)
    Local $sOut = StringToBinary("0" & @CRLF, 2), $aOut
    Local $hDir = Run(@ComSpec & ' /U/C DIR "' & $sPath & '\' & $sFileMask & '" /S/B/A-D', @SystemDir, @SW_HIDE, 6)

    While 1
        $sOut &= StdoutRead($hDir, False, True)
        If @error Then ExitLoop
    WEnd

    $aOut = StringRegExp(BinaryToString($sOut, 2), "[^\r\n]+", 3)
    If @error Then Return SetError(1)

    $aOut[0] = UBound($aOut) - 1
    Return $aOut
EndFunc   ;==>_FileSearch
Если нужна другая последовательность, то меняйте их местами.

Я поправил код.

Последний раз редактировалось madmasles, 18-02-2010 в 00:21.

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

Отправлено: 23:58, 17-02-2010 | #18