PCCar.ru - Ваш автомобильный компьютер

Вернуться   PCCar.ru - Ваш автомобильный компьютер > MP3Car ТехИнфа > АвтоЗвук

Ответ
 
Опции темы Поиск в этой теме
Старый 14.01.2017, 21:25   #3081
120705
Старший Пользователь
 
Аватар для 120705
 
Регистрация: 09.07.2011
Город: Ростов на Дону
Регион: 61
Машина: KIA Sorento XM
Сообщений: 745
120705 is a splendid one to behold120705 is a splendid one to behold120705 is a splendid one to behold120705 is a splendid one to behold120705 is a splendid one to behold120705 is a splendid one to behold
По умолчанию

Цитата:
Сообщение от duzzy Посмотреть сообщение
seriousstas

Проблема с ...

скорее всего из за АНК...
Потому как на разных компах и системах он ведет себя абсолютно по разному.
Где то работает а где то нет.
Я поэтому и решил уйти на Автоит, теперь сложностей со скриптами в сборке нет.
+ в нем синтаксис человеческий.
Перекомпелить AHK в Автоит, мож. поможет. Или так нельзя?
__________________
ASUSP8H67-I; INTEL-I5-3570; LGA1155; ОЗУ 8ГБ; ASUS xonar DX; SSD120 ГБ; Блок питания: M2-ATX; Свисток: Dlink dwa 140; GPS:G-STAR IV; Радио: Directed HD Radio; Матрица: ZJ080NA-08A; Тач:Ёмкостной; Оболочка ICARDC; Ось: Win7x64 (Win10x64)
120705 вне форума   Ответить с цитированием
Старый 15.01.2017, 06:10   #3082
seriousstas
Бывалый писикарщик
 
Регистрация: 14.06.2013
Регион: Украина
Машина: Nissan Qashqai+2
Сообщений: 3,424
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
По умолчанию

duzzy
Цитата:
Я поэтому и решил уйти на Автоит, теперь сложностей со скриптами в сборке нет.
Цитата:
Хочу проверить работу.
тоже хочу ..
На Автоит вообще не нашел прокрутки колеса в нужном окне , как на AHK , одной строчкой через ControlClick -
только отдельно и это не решает задачу .
seriousstas вне форума   Ответить с цитированием
Старый 15.01.2017, 16:07   #3083
duzzy
Гуру
 
Регистрация: 01.06.2013
Регион: 78, 98
Машина: SUBARU Impreza WRX
Сообщений: 1,766
duzzy has a reputation beyond reputeduzzy has a reputation beyond reputeduzzy has a reputation beyond reputeduzzy has a reputation beyond reputeduzzy has a reputation beyond reputeduzzy has a reputation beyond reputeduzzy has a reputation beyond reputeduzzy has a reputation beyond reputeduzzy has a reputation beyond repute
По умолчанию

seriousstas

Да похоже в Автоит с прокруткой колесом в окне печаль...

Можно по DllCall() и $WM_MOUSEWHEEL(через дельту) но в окне ВУметра не работает прокрутка, а в других программах крутит без проблем.
Любое окно F8(крутим вниз)
Выход Esc
Код:
#include <SendMessage.au3>
#include <WinAPI.au3>
#include <WindowsConstants.au3>

HotKeySet("{ESC}", "_Quit")
HotKeySet("{F8}", "_MouseWheelPlusTest")

Opt("WinTitleMatchMode", 2)

Global $f_Dir = False

While 1
    Sleep(100)
WEnd

Func _MouseWheelPlusTest()
    ;$f_Dir = Not $f_Dir
    ;If $f_Dir Then
        ;_MouseWheelPlus("Analog VU Meter", "up", 1)
   ; Else
        _MouseWheelPlus("", "down", 0)
    ;EndIf
EndFunc   ;==>_MouseWheelPlusTest

Func _MouseWheelPlus($Window, $direction, $clicks)
    $MouseCoord = MouseGetPos()
    $wdow = WinGetHandle('[CLASS:#32770]','')
	ControlFocus($wdow,'','')
	$X = $MouseCoord[0]
    $Y = $MouseCoord[1]
    If $direction = "up" Then
        $WheelDelta = 120
    Else
        $WheelDelta = -220
    EndIf
    For $i = 0 To $clicks
        $aRET = DllCall("user32.dll", "int", "SendMessage", _
                "hwnd", ControlGetHandle(WinGetHandle($Window),'',''), _
                "int", $WM_MOUSEWHEEL, _
                "long", _MakeLong(0, $WheelDelta), _
                "long", _MakeLong($X, $Y))
        ;MsgBox(0, @error, $aRET[0])
		;MsgBox(0, '', $Window)
		ConsoleWrite($Window&'   '&$aRET[0] & @CRLF)
    Next
EndFunc   ;==>_MouseWheelPlus

Func _MakeLong($LoWord, $HiWord)
    Return BitOR($HiWord * 0x10000, BitAND($LoWord, 0xFFFF))
EndFunc   ;==>_MakeLong

Func _Quit()
    Exit
EndFunc
----------------------------------------------------------------------------------------

Можно сделать так, установить в авто комп AHK и компилить уже в авто
Код:
#NoTrayIcon
#SingleInstance force
ControlClick,{88D33FF9-8199-4332-B69C-6B99D67A24C9}2,,Analog VU Meter, WheelDown, 2
ExitApp
У меня меняется только --- Instance: 1 (отметил жирным красным что менять)
duzzy вне форума   Ответить с цитированием
Старый 15.01.2017, 17:59   #3084
seriousstas
Бывалый писикарщик
 
Регистрация: 14.06.2013
Регион: Украина
Машина: Nissan Qashqai+2
Сообщений: 3,424
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
По умолчанию

duzzy
Да - тож пробовал по всякому ..
Цитата:
У меня меняется только --- Instance: 1
32-битка ?

120705
Евген_21

Проверте такой :

Код:
#include <WinAPI.au3>
#include <SendMessage.au3>
#include <WindowsConstants.au3>
If @OSArch = "X86" Then
    $CLASSNN = "{88D33FF9-8199-4332-B69C-6B99D67A24C9}1"
    Else
    $CLASSNN = "{88D33FF9-8199-4332-B69C-6B99D67A24C9}2" 
    Endif

$iCount = -2 ; количество прокруток (минус - вниз, плюс - вверх)

$hCtrl = ControlGetHandle("[CLASS:{E7076D1C-A7BF-4f39-B771-BCBE88F2A2A8}]", "", $CLASSNN) 
_SendMessage($hCtrl, $WM_MOUSEWHEEL, _WinAPI_MakeLong(0, $iCount * 120))

Последний раз редактировалось seriousstas; 15.01.2017 в 19:36.
seriousstas вне форума   Ответить с цитированием
Старый 15.01.2017, 19:11   #3085
seriousstas
Бывалый писикарщик
 
Регистрация: 14.06.2013
Регион: Украина
Машина: Nissan Qashqai+2
Сообщений: 3,424
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
По умолчанию

Цитата:
Автоит, теперь сложностей со скриптами в сборке нет.
+ в нем синтаксис человеческий.
Цитата:
Да похоже в Автоит с прокруткой колесом в окне печаль...
Тут начиная от замены самого сабя , контроля копий , до элементарных
задач - Автоит проигрывает вчистую .. пример :
http://autoit-script.ru/index.php?to...4476#msg134476
Цитата:
В ahk это выглядит самым примитивным образом....
У AHK - другие недостатки )
seriousstas вне форума   Ответить с цитированием
Старый 15.01.2017, 21:03   #3086
duzzy
Гуру
 
Регистрация: 01.06.2013
Регион: 78, 98
Машина: SUBARU Impreza WRX
Сообщений: 1,766
duzzy has a reputation beyond reputeduzzy has a reputation beyond reputeduzzy has a reputation beyond reputeduzzy has a reputation beyond reputeduzzy has a reputation beyond reputeduzzy has a reputation beyond reputeduzzy has a reputation beyond reputeduzzy has a reputation beyond reputeduzzy has a reputation beyond repute
По умолчанию

seriousstas

Цитата:
32-битка ?
Ты про ОС ?
ОС 64-ка где меняется, я еще с NEON намучился при использовании АНК, все скрипты с дом.компа не работали пока в машине не перекомпилишь.

Цитата:
Тут начиная от замены самого сабя , контроля копий , до элементарных
задач - Автоит проигрывает вчистую ..
Я бы так не сказал... скорее так... у всего есть свое предназначение

Замена самого себя... это как ???

Контроль копий --- ты про запуск одной копии скрипта ? если да то это элементарно...
Код:
If _Singleton(@ScriptName, 1) = 0 Then ;single process
	Exit
EndIf
Цитата:
Автоит проигрывает вчистую .. пример :
MouseDown ( "button" )
duzzy вне форума   Ответить с цитированием
Старый 15.01.2017, 22:58   #3087
seriousstas
Бывалый писикарщик
 
Регистрация: 14.06.2013
Регион: Украина
Машина: Nissan Qashqai+2
Сообщений: 3,424
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
По умолчанию

duzzy
Цитата:
Замена самого себя... это как ???
так :
#SingleInstance force
и просто переключаешь - гениально - и не нужно ничего городить с условиями :
#SingleInstance ignore
#SingleInstance off

на автоитовский _Singleton читал много жалоб - придумывают другие варианты с временной переменной и тд ..
AHK :#Persistent - удерживать
вместо циклов - есть return ..
- Сильно упрощает жизь )
Цитата:
Можно по DllCall() и $WM_MOUSEWHEEL(через дельту)
совсем не простой метод ..
попробуй - работает-ли скрипт , что выше ?

Последний раз редактировалось seriousstas; 16.01.2017 в 03:56.
seriousstas вне форума   Ответить с цитированием
Старый 16.01.2017, 14:20   #3088
Евген_21
Старший Пользователь
 
Аватар для Евген_21
 
Регистрация: 10.11.2014
Возраст: 48
Город: Усть-Илимск
Регион: 38
Машина: HYUNDAI I30 Рестайлинг
Сообщений: 958
Евген_21 is a glorious beacon of lightЕвген_21 is a glorious beacon of lightЕвген_21 is a glorious beacon of lightЕвген_21 is a glorious beacon of lightЕвген_21 is a glorious beacon of lightЕвген_21 is a glorious beacon of light
По умолчанию

duzzy
Цитата:
Можно сделать так, установить в авто комп AHK и компилить уже в авто
Попробовал, твой вариант. Не вышло.
seriousstas
Цитата:
Проверте такой :
Спасибо, заработало без проблем.
__________________
GIGABYTE LGA1150 GA-85N B85,Intel Core i3-4330 3.5GHz 4Mb 2xDDR3-1600,Kingston HyperX 4Gb...USB GPS приемник Locosys LS-23030G.,блок питания M4-ATX
Windows 7-64, iCarDS 1.7.0.60 (лицензия)
Оформления и темы для iCarDS
Евген_21 вне форума   Ответить с цитированием
Старый 16.01.2017, 15:58   #3089
duzzy
Гуру
 
Регистрация: 01.06.2013
Регион: 78, 98
Машина: SUBARU Impreza WRX
Сообщений: 1,766
duzzy has a reputation beyond reputeduzzy has a reputation beyond reputeduzzy has a reputation beyond reputeduzzy has a reputation beyond reputeduzzy has a reputation beyond reputeduzzy has a reputation beyond reputeduzzy has a reputation beyond reputeduzzy has a reputation beyond reputeduzzy has a reputation beyond repute
По умолчанию

seriousstas

Цитата:
#SingleInstance force
Да это тоже самое что и If _Singleton(@ScriptName, 1)... просто в более красивой обертке.
С _Singleton у меня проблем не было вообще.
Циклы удобней в разы, а Return есть и в Автоит.

Цитата:
совсем не простой метод ..
попробуй - работает-ли скрипт , что выше ?
Это тоже самое что и в твоем скрипте...
_SendMessage --- это враппер(упращенный вариант функции) для DllCall - SendMessage. Это можно сделать с любой другой функцией.

Пример обертки:

_Моя_новая_функ(параметр, параметр, параметр)
DllCall(параметр, параметр, параметр)
конец функции

Вот пример простой обертки в обертке
Твой скрипт...
Код:
#NoTrayIcon
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Icon=C:\Program Files (x86)\AutoIt3\Aut2Exe\Icons\AutoIt_Main_v10_48x48_RGB-A.ico
#AutoIt3Wrapper_Compression=4
#AutoIt3Wrapper_UseUpx=y
#AutoIt3Wrapper_Add_Constants=n
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#include <WinAPI.au3>
#include <SendMessage.au3>
#include <WindowsConstants.au3>

Func _MouseWheel($iCount) ; количество прокруток ((-2) минус - вниз, (2)плюс - вверх)
	If @OSArch = "X86" Then
		$CLASSNN = "1"
	Else
		$CLASSNN = "2"
	EndIf
	$hCtrl = ControlGetHandle("[CLASS:{E7076D1C-A7BF-4f39-B771-BCBE88F2A2A8}]", "", "{88D33FF9-8199-4332-B69C-6B99D67A24C9}" & $CLASSNN)
	_SendMessage($hCtrl, $WM_MOUSEWHEEL, _WinAPI_MakeLong(0, $iCount * 120))
EndFunc   ;==>_MouseWheel


_MouseWheel(2);2 раза вверх

_MouseWheel(-2);2 раза вниз
Более обобщенный вариант для любых окон...
Код:
#NoTrayIcon
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Icon=C:\Program Files (x86)\AutoIt3\Aut2Exe\Icons\AutoIt_Main_v10_48x48_RGB-A.ico
#AutoIt3Wrapper_Compression=4
#AutoIt3Wrapper_UseUpx=y
#AutoIt3Wrapper_Add_Constants=n
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#include <WinAPI.au3>
#include <SendMessage.au3>
#include <WindowsConstants.au3>

$window_Class ="[CLASS:{E7076D1C-A7BF-4f39-B771-BCBE88F2A2A8}]"
$control_Class ="{88D33FF9-8199-4332-B69C-6B99D67A24C9}2"

Func _MouseWheel($wClass, $cClass, $iCount) ;$wClass - класс окна, $cClass - что конролим, количество прокруток ((-2) минус - вниз, (2)плюс - вверх)
	$hCtrl = ControlGetHandle($wClass, "", $cClass)
	_SendMessage($hCtrl, $WM_MOUSEWHEEL, _WinAPI_MakeLong(0, $iCount * 120))
EndFunc   ;==>_MouseWheel


_MouseWheel($window_Class,$control_Class, 2);2 раза вверх

_MouseWheel($window_Class,$control_Class, -2);2 раза вниз
Евген_21
Цитата:
Попробовал, твой вариант. Не вышло.
Да там выходить то нечему скрипт в одну строку, и поменять нужно всего одну цифру в нем.
AU3_Spy.exe запустил навел на окно ВУметра и посмотрел меняется ли параметр


или в такой же утилите Автоита...


изменил цифру перекомпилил скрипт.
duzzy вне форума   Ответить с цитированием
Старый 16.01.2017, 16:25   #3090
Евген_21
Старший Пользователь
 
Аватар для Евген_21
 
Регистрация: 10.11.2014
Возраст: 48
Город: Усть-Илимск
Регион: 38
Машина: HYUNDAI I30 Рестайлинг
Сообщений: 958
Евген_21 is a glorious beacon of lightЕвген_21 is a glorious beacon of lightЕвген_21 is a glorious beacon of lightЕвген_21 is a glorious beacon of lightЕвген_21 is a glorious beacon of lightЕвген_21 is a glorious beacon of light
По умолчанию

duzzy
Цитата:
Да там выходить то нечему скрипт в одну строку, и поменять нужно всего одну цифру в нем.
AU3_Spy.exe запустил навел на окно ВУметра и посмотрел меняется ли параметр
Да, это первое что сделал. Все то же самое что у тебя .
Но, не работает.
__________________
GIGABYTE LGA1150 GA-85N B85,Intel Core i3-4330 3.5GHz 4Mb 2xDDR3-1600,Kingston HyperX 4Gb...USB GPS приемник Locosys LS-23030G.,блок питания M4-ATX
Windows 7-64, iCarDS 1.7.0.60 (лицензия)
Оформления и темы для iCarDS
Евген_21 вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 14 (пользователей: 0 , гостей: 14)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.



Часовой пояс GMT +4, время: 10:38.


Работает на vBulletin® версия 3.8.4.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot