Тема: iCarDS+Foobar2000
Показать сообщение отдельно
Старый 11.12.2014, 14:59   #590
Bersenev
Бывалый писикарщик
 
Аватар для Bersenev
 
Регистрация: 23.04.2009
Возраст: 53
Город: Ставрополь
Регион: 26
Машина: Opel Zafira 2007
Сообщений: 5,275
Bersenev has a brilliant futureBersenev has a brilliant futureBersenev has a brilliant futureBersenev has a brilliant futureBersenev has a brilliant futureBersenev has a brilliant futureBersenev has a brilliant futureBersenev has a brilliant futureBersenev has a brilliant futureBersenev has a brilliant futureBersenev has a brilliant future
По умолчанию

Цитата:
Сообщение от Lexins Посмотреть сообщение
Можно, пжл, поподробнее, как выполнить это действие?
Если речь про AutoIt, то вот исходник SkinMediaTitle.au3, а если про компонент для фубара, то всё зависит от того на чём его писать.

Код:
_Main()

Func _Main()

    $rr = ObjCreate("RideRunner.sdk")

    Global $IsWork = 1    ; Ключ цикла, выполнять пока равно 1
    Global $IsRun = 0    ; Ключ запуска окна, если 0 окно ещё не найдено

    Global $name = ""    ; Имя окна, которое необходимо перехватить
    Global $namecontrol = ""    ; Имя окна, которое необходимо перехватить
    Global $FoobarWindowTitlePrev=""

    If $CmdLine[0] = 0  Then
        $IsWork = 0
    Else
        If $CmdLine[0] > 0  Then $name = $CmdLine[1]
        EndIf


    While $IsWork

        Opt("WinTitleMatchMode", 2)

        $handle = WinGetHandle($name)     ; Ищем окно с заданным именем
        If @error Then
            If $IsRun Then
                $IsWork = 0
            EndIf ; если окно не найдено, а ключ запуска окна установлен в 1, т.е. окно закрыто, то сбросить ключ выхода для завершения скрипта
        Else
            $IsRun = 1    ; если окно найдено устанавливаем ключ запуска окна
            $FoobarWindowTitle = WinGetTitle($handle)
            $FoobarWindowTitlePrev = $rr.getinfo("=$CurrentSkinMediaTitle$")
            If $FoobarWindowTitlePrev <> $FoobarWindowTitle Then $rr.Execute("SETVAR;CurrentSkinMediaTitle;" & $FoobarWindowTitle)
             $FoobarWindowTitlePrev = $FoobarWindowTitle
        EndIf


         $state = WinGetState($name, "")
         If BitAnd($state, 2) Then
            $CurrentApp = $rr.getinfo("=$CurrentApp$")
            $SkinMediaId = $rr.getinfo("=$SkinMediaId$")
            $SkinMediaN = $rr.getinfo("=$SkinMedia" & $SkinMediaId & "$")

             If $CurrentApp <> $SkinMediaN Then
                $rr.Execute("Activate;iCar DS")
            EndIf
         EndIf

        Sleep(500)
    WEnd
EndFunc   ;==>_Main
Bersenev вне форума   Ответить с цитированием