Что нового

[Автоматизация] Открытое окно не реагирует на WinMove и WinSetState команды

ig0r

Новичок
Сообщения
6
Репутация
0
В AutoIt я новичок(
Пытаюсь выполнить следующий ряд действий:
1. Открыть программу (AIMP Recorder)
2. Скрыть ее (из taskbar)

Код который я использую:

Код:
run("C:\Program Files (x86)\AIMP2 Tools\AIMP2r.exe")
WinSetState("AIMP2: Audio Recorder", '', @SW_HIDE)

AIMP открывается но не прячется.
Пробовал такой вариант:

Код:
run("C:\Program Files (x86)\AIMP2 Tools\AIMP2r.exe")
;Подождать:
$hWindow = WinWait('AIMP2: Audio Recorder', '', 15)
;Убрать окно из виду:
If $hWindow Then WinMove($hWindow,'',@DesktopWidth+100,@DesktopHeight+100)
;ИЛИ вместо этой строчки пробовал сделать окно прозрачным:
If $hWindow Then WinSetTrans($hWindow,'',0)


Но это не дает результат. AIMP открывается но дальнейшие действия не воспринимает( (программы вроде notepad.exe - воспринимают эти команды на ура)

AutoItv3 Window Info говорит следующее:

>>>> Window <<<<
Title: AIMP2: Audio Recorder
Class: TAIMP2RecorderW
Position: 143, 143
Size: 790, 600
Style: 0x16CE0000
ExStyle: 0x00010100
Handle: 0x00000000001904B6

>>>> Control <<<<
Class:
Instance:
ClassnameNN:
Name:
Advanced (Class):
ID:
Text:
Position:
Size:
ControlClick Coords:
Style:
ExStyle:
Handle:

>>>> Mouse <<<<
Position: 655, 169
Cursor ID: 0
Color: 0xCACACA

>>>> StatusBar <<<<

>>>> ToolsBar <<<<

>>>> Visible Text <<<<
Rec-2011.08.01-03;01;47
Scroll Lock


>>>> Hidden Text <<<<
Вопрос - возможно ли это окно заставить выполнять команду:
Код:
WinSetState("AIMP2: Audio Recorder", "", @SW_HIDE)



PS Код для убирания окна взял из этой темы: http://autoit-script.ru/index.php/topic,1610.0.html
Программа, которую я хочу запустить - aimp audio recorder, который входит в aimp tools (она находится тут в самом низу http://aimp.ru/index.php?do=download&cat=old)

Большое спасибо всем за любые наводки!
 

ERROR 404

Новичок
Сообщения
1
Репутация
0
запускай так:
Код:
run("C:\Program Files (x86)\AIMP2 Tools\AIMP2r.exe" , "", @SW_HIDE)
 

Zaramot

I ♥ AutoIt
Сообщения
1 160
Репутация
659
ig0r
Попробуй запустить программу так:
Код:
ShellExecute('C:\Program Files (x86)\AIMP2 Tools\AIMP2r.exe', '', '', '', @SW_HIDE)


ERROR 404, для любого отрезка Autoit кода - используй тег [AutoIt] :Rulz:
 
Автор
I

ig0r

Новичок
Сообщения
6
Репутация
0
Zaramot,
Подскажи, если я имею такой код с run:
Код:
run("control.exe mmsys.cpl,,1")

Он открывает Панель Управления -> Звук и ",,1" - вторую вкладку.
Возможно ли выполнить это с ShellExecute ?

При попытке это сделать - ошибка:
Не удается найти "control.exe mmsys.cpl,,1". Проверьте правильно ли указано имя и повторите попытку
ERROR 404, Почему то код:
Код:
run("control.exe mmsys.cpl,,1" , "", @SW_HIDE)

Не прячет окно "Звук". А только показывает его :(

Спасибо за советы!
 
Автор
I

ig0r

Новичок
Сообщения
6
Репутация
0
VladUs, Спасибо, да, это работает!
Но все равно только открывает окно Звук и не прячет его.

Я нашел решение в:
Код:
run("control.exe mmsys.cpl,,1")
WinWait("Звук")
WinSetState("Звук", '', @SW_HIDE)

То-есть еще жду когда окно появится, и тогда прячу. Это, правда, приводит к тому, что окно появляется на секунду-две и только потом исчезает.
Работающего варианта, что-бы окошко совсем не появлялось я пока не нашел :scratch:
 

Zaramot

I ♥ AutoIt
Сообщения
1 160
Репутация
659
Zaramot,
Подскажи, если я имею такой код с run:
Код:
run("control.exe mmsys.cpl,,1")

Он открывает Панель Управления -> Звук и ",,1" - вторую вкладку.
Возможно ли выполнить это с ShellExecute ?
Код:
ShellExecute("control.exe", "mmsys.cpl", "", "", @SW_HIDE)
 
Верх