Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   AutoIt (http://forum.oszone.net/forumdisplay.php?f=103)
-   -   controlID - когда параметр отсутствует!? (http://forum.oszone.net/showthread.php?t=162124)

semiono 02-01-2010 16:29 1309186

controlID - когда параметр отсутствует!?
 

Помогите тиснуть в это маленькое окошко - VST Instruments
Основная "родительская" форма Class:MDIClient; Instance:1.
В маленьком окошке, что на картинке нету параметра ID
В хелпе же напротив вся работа с контролами требует ID параметр. Вечно у меня так! :(
Однако я боюсь там ещё массу "подводных камней" может быть.
Ну хотя бы начать... В идеале мне нужно сделать клик на "чёрном фоне" и из него откроется свисающий список меню... ну а там я уже
с помощью Send() разберусь попробую...

Окно VST Instruments может растягивается только вверх/вниз, в ширину оно не ресайзится, так что размер по-горизонтали фиксирован. Но положение окна разумеется может быть случайно...
Так что можно X/Y подобраться... Но пока не получается само окно захватить... Видимо я чего-то просто не знаю.

Creat0R 02-01-2010 17:15 1309205

Цитата:

Цитата semiono
В идеале мне нужно сделать клик на "чёрном фоне" »

Можно использовать PixelSearch и по координатам кликнуть:

Код:

Opt("PixelCoordMode", 0)

$sTitle = "[CLASS:Cubase SXFrameWindowClass]"
$hWnd = WinGetHandle($sTitle)
WinActivate($hWnd)

$aWinPos = WinGetPos($hWnd)
$aClickCoords = PixelSearch(0, 0, $aWinPos[2], $aWinPos[3], 0x121918, 0, 1, $hWnd)
If Not @error Then ControlClick($hWnd, "VST Instruments", "SteinbergDocWindowClass1", "Main", 1, $aClickCoords[0], $aClickCoords[1])


semiono 02-01-2010 21:41 1309325

Стало получаться когда я по примеру классы расписал... (спасибо!)

Код:

$sTitle = "[CLASS:Cubase SXFrameWindowClass]"
$hWnd = WinGetHandle($sTitle)

WinWaitActive("[Class:Cubase SXFrameWindowClass]")

Send("{F11}") ; это вызывает окно VST Instruments из главного окна

WinActivate($hWnd)

$aWinPos = WinGetPos($hWnd)

ControlClick($hWnd,"VST Instruments","SteinbergDocWindowClass1","Main",1,180,38)

Хотя я тут боюсь, что хендл главного окна и маленького дочернего "VST Instruments"
получается что одинаковый, или это нормально? Может доопределить надо?

НО главное что я измучился, не работает
ControlCommand("","","","SelectString",'SampleMoog')
потому-что я опять же не знаю что в title text или id писать, там нифига опять не видно...
Куда именно [Class: #32768] вписать надо? Кстати, это стандартное нечто во всех окнах встречается такое : #32768


SampleMoog - я рукой выделил, скрипт пока не пашет. :(
SampleMoog - должен быть нажат поиском, так как список может иметь неопределённое колличество пунктов.

Creat0R 02-01-2010 22:00 1309331

Цитата:

Цитата semiono
не работает
ControlCommand("","","","SelectString",'SampleMoog') »

Оно не для меню.

Цитата:

Цитата semiono
SampleMoog - должен быть нажат поиском, так как список может иметь неопределённое колличество пунктов »

Возможно тут тема Контекстное меню будет полезна.


Время: 14:39.

Время: 14:39.
© OSzone.net 2001-