Цитата:
Сообщение от 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