![]() |
|
|
#3081 |
|
Старший Пользователь
![]() Регистрация: 09.07.2011
Город: Ростов на Дону
Регион: 61
Машина: KIA Sorento XM
Сообщений: 746
![]() ![]() ![]() ![]() ![]() ![]() |
Перекомпелить 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) |
|
|
|
|
|
#3082 | ||
|
Бывалый писикарщик
![]() Регистрация: 14.06.2013
Регион: Украина
Машина: Nissan Qashqai+2
Сообщений: 3,424
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
duzzy
Цитата:
Цитата:
На Автоит вообще не нашел прокрутки колеса в нужном окне , как на AHK , одной строчкой через ControlClick - только отдельно и это не решает задачу . |
||
|
|
|
|
|
#3083 |
|
Гуру
![]() Регистрация: 01.06.2013
Регион: 78, 98
Машина: SUBARU Impreza WRX
Сообщений: 1,766
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
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
__________________
Готовые сборки foobar2000 для КарПС //--- FLAT ---\\ Сборки PotPlayer Полезные утилиты |
|
|
|
|
|
#3084 | |
|
Бывалый писикарщик
![]() Регистрация: 14.06.2013
Регион: Украина
Машина: Nissan Qashqai+2
Сообщений: 3,424
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
duzzy
Да - тож пробовал по всякому .. Цитата:
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. |
|
|
|
|
|
|
#3085 | |||
|
Бывалый писикарщик
![]() Регистрация: 14.06.2013
Регион: Украина
Машина: Nissan Qashqai+2
Сообщений: 3,424
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Цитата:
Цитата:
задач - Автоит проигрывает вчистую .. пример : http://autoit-script.ru/index.php?to...4476#msg134476 Цитата:
|
|||
|
|
|
|
|
#3086 | |||
|
Гуру
![]() Регистрация: 01.06.2013
Регион: 78, 98
Машина: SUBARU Impreza WRX
Сообщений: 1,766
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
seriousstas
Цитата:
ОС 64-ка где меняется, я еще с NEON намучился при использовании АНК, все скрипты с дом.компа не работали пока в машине не перекомпилишь. Цитата:
![]() Замена самого себя... это как ??? Контроль копий --- ты про запуск одной копии скрипта ? если да то это элементарно... Код:
If _Singleton(@ScriptName, 1) = 0 Then ;single process Exit EndIf Цитата:
![]()
__________________
Готовые сборки foobar2000 для КарПС //--- FLAT ---\\ Сборки PotPlayer Полезные утилиты |
|||
|
|
|
|
|
#3087 | ||
|
Бывалый писикарщик
![]() Регистрация: 14.06.2013
Регион: Украина
Машина: Nissan Qashqai+2
Сообщений: 3,424
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
duzzy
Цитата:
#SingleInstance force и просто переключаешь - гениально - и не нужно ничего городить с условиями : #SingleInstance ignore #SingleInstance off на автоитовский _Singleton читал много жалоб - придумывают другие варианты с временной переменной и тд .. AHK :#Persistent - удерживать вместо циклов - есть return .. - Сильно упрощает жизь ) Цитата:
попробуй - работает-ли скрипт , что выше ? Последний раз редактировалось seriousstas; 16.01.2017 в 03:56. |
||
|
|
|
|
|
#3088 | ||
|
Старший Пользователь
![]() Регистрация: 10.11.2014
Возраст: 49
Город: Усть-Илимск
Регион: 38
Машина: HYUNDAI I30 Рестайлинг
Сообщений: 958
![]() ![]() ![]() ![]() ![]() ![]() |
duzzy
Цитата:
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 |
||
|
|
|
|
|
#3089 | |||
|
Гуру
![]() Регистрация: 01.06.2013
Регион: 78, 98
Машина: SUBARU Impreza WRX
Сообщений: 1,766
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
seriousstas
Цитата:
С _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 раза вниз
Цитата:
AU3_Spy.exe запустил навел на окно ВУметра и посмотрел меняется ли параметр или в такой же утилите Автоита... изменил цифру перекомпилил скрипт.
__________________
Готовые сборки foobar2000 для КарПС //--- FLAT ---\\ Сборки PotPlayer Полезные утилиты |
|||
|
|
|
|
|
#3090 | |
|
Старший Пользователь
![]() Регистрация: 10.11.2014
Возраст: 49
Город: Усть-Илимск
Регион: 38
Машина: HYUNDAI I30 Рестайлинг
Сообщений: 958
![]() ![]() ![]() ![]() ![]() ![]() |
duzzy
Цитата:
Но, не работает.
__________________
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 |
|
|
|
|
![]() |
| Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
| Опции темы | Поиск в этой теме |
|
|