Показать сообщение отдельно
Старый 29.04.2018, 13:51   #460
seriousstas
Бывалый писикарщик
 
Регистрация: 14.06.2013
Регион: Украина
Машина: Nissan Qashqai+2
Сообщений: 3,425
seriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant futureseriousstas has a brilliant future
По умолчанию

Евген_21
По поводу избавления от лишних скриптов и этого :
Цитата:
Какова будет реализация?
Через расширение foo_runcmd.dll.
Застрял на чувствительности стрелочников , пришлось поправить (с контролем раскладки):
Documents\iCarDS\skins\Chameleon\Scripts\SendKey.exe
PHP код:
#NoTrayIcon
_WinAPI_LoadKeyboardLayout(0x0409)
$sText = WinGetText("title")
Func _WinAPI_LoadKeyboardLayout($sLayoutID, $hWnd = 0)
    
Local Const $WM_INPUTLANGCHANGEREQUEST = 0x50
    Local $aRet 
= DllCall("user32.dll", "long", "LoadKeyboardLayoutW", "wstr", Hex($sLayoutID, 8), "int", 0)
    
    If 
Not @error And $aRet[0] Then
        
If $hWnd = 0 Then
            $hWnd 
= WinGetHandle(AutoItWinGetTitle())
        EndIf
        
        
DllCall("user32.dll", "ptr", "SendMessage", "hwnd", $hWnd, "int", $WM_INPUTLANGCHANGEREQUEST, "int", 1, "int", $aRet[0])
        Return 
1
    
EndIf
    
    Return 
SetError(1)
EndFunc

If ($cmdline[0] = 3) Then
    ControlSend
($cmdline[1], "", $cmdline[2], $cmdline[3])
Else
Global Const 
$wm_mousewheel = 522
$classnn 
= $cmdline[2]
$icount = $cmdline[4]
$hctrl = ControlGetHandle($cmdline[1], "", $classnn)
_sendmessage($hctrl, $wm_mousewheel, _winapi_makelong(0, $icount * 120))
EndIf 

Func _sendmessage($hwnd, $imsg, $wparam = 0, $lparam = 0, $ireturn = 0, $wparamtype = "wparam", $lparamtype = "lparam", $sreturntype = "lresult")
    
Local $aresult = DllCall("user32.dll", $sreturntype, "SendMessageW", "hwnd", $hwnd, "uint", $imsg, $wparamtype, $wparam, $lparamtype, $lparam)
    If @
error Then Return SetError(@error, @extended, "")
    If 
$ireturn >= 0 AND $ireturn <= 4 Then Return $aresult[$ireturn]
    Return 
$aresult
EndFunc
Func _winapi_makelong
($ilo, $ihi)
    Return 
BitOR(BitShift($ihi, -16), BitAND($ilo, 65535))
EndFunc 
Ну и сама кнопка
/ DB- :
Код:
B,130,518,126,80,"RUNW;$SKINPATH$\Scripts\sendkey.exe|"[CLASS:{E7076D1C-A7BF-4f39-B771-BCBE88F2A2A8}]" "Analog VU Meter" "" "-2",

Последний раз редактировалось seriousstas; 09.05.2018 в 16:49.
seriousstas вне форума   Ответить с цитированием