Русское сообщество AutoIt

  • Май 22, 2012, 14:36:42 *
  • Добро пожаловать, Гость
Пожалуйста, войдите или зарегистрируйтесь.

Войти
Расширенный поиск  

Новости:


Последняя финальная версия AutoIt: 3.3.8.1 (Скачать)
Последняя Beta версия AutoIt: 3.3.9.4 (Скачать)

Реклама

Автор Тема: Как активировать два окна с одинаковым заголовком и классом  (Прочитано 427 раз)

0 Пользователей и 1 Гость смотрят эту тему.

at [?]

  • Новичок
  • *
  • Репутация: 4
  • Offline Offline
  • Пол: Мужской
  • Сообщений: 150
  • Версия AutoIt: 3.3.6.1
    • Награды
Здравствуйте!

Пожалуйста, подскажите, как одновременно или по очереди активировать два окна, у которых одинаковый TITLE и CLASS.




  Записан

Viktor1703 [?]

  • AutoIt Гуру
  • *****
  • Репутация: 191
  • Offline Offline
  • Сообщений: 902
  • Версия AutoIt: 3.3.8.1
    • Награды
Код: AutoIt [Выделить]
For $i = 1 To 2
   $iHandle = WinGetHandle("") ;~ Title или Class
   If WinGetState($iHandle) < 15 Then
      WinActivate($iHandle)
   EndIf
Next
 
« Последнее редактирование: Февраль 22, 2012, 15:41:24 от Viktor1703 »



  Записан

at [?]

  • Новичок
  • *

  • Автор темы
  • Репутация: 4
  • Offline Offline
  • Пол: Мужской
  • Сообщений: 150
  • Версия AutoIt: 3.3.6.1
    • Награды
Viktor1703, так только одно окно становиться активным.




  Записан

CreatoR [?]

  • Администратор
  • *
  • *****
  • Репутация: 1403
  • Offline Offline
  • Пол: Мужской
  • Сообщений: 5068
  • Версия AutoIt: 3.2.8.1+
  • AutoIt is simple, subtle, elegant
    • WWW
    • Награды
at  [?]
Цитата
так только одно окно становиться активным
А два окна не могут быть активными одновременно ;).




  Записан
Правила, Поиск, Супер тема


AutoIt is simple, subtle, elegant.



«Не оказываю техподдержку через ПМ/ICQ, и по электронной почте - для этого есть форум. (C)»
«Законы Мэрфи неоспоримы!»


Мои работы

Viktor1703 [?]

  • AutoIt Гуру
  • *****
  • Репутация: 191
  • Offline Offline
  • Сообщений: 902
  • Версия AutoIt: 3.3.8.1
    • Награды
Код: AutoIt [Выделить]
$sList = WinList()

For $i = 0 To $sList[0][0]
   ConsoleWrite($sList[$i][0] & @CRLF)
   If $sList[$i][0] = 'title' Then
      WinActivate($sList[$i][1])
   EndIf     
Next
 




  Записан

at [?]

  • Новичок
  • *

  • Автор темы
  • Репутация: 4
  • Offline Offline
  • Пол: Мужской
  • Сообщений: 150
  • Версия AutoIt: 3.3.6.1
    • Награды
Цитата
CreatoR: А два окна не могут быть активными одновременно
Спасибо, понял, а как сделать, чтобы по очереди ...

Viktor1703, так выводиться в консоль весь перечень открытых и скрытых окон (и так тоже: "title" = "моя программа"). Нужные окна при этом остаются неактивными.




  Записан

Viktor1703 [?]

  • AutoIt Гуру
  • *****
  • Репутация: 191
  • Offline Offline
  • Сообщений: 902
  • Версия AutoIt: 3.3.8.1
    • Награды
Сомневаюсь, я тестировал скрипт, открыл 2 папки диска E: и сделал активным окно SciTE, запустил скрипт и 2 окна стали активными по очереди, уберите запись
Код: AutoIt [Выделить]
ConsoleWrite($sList[$i][0] & @CRLF)
и в консоль ничего писаться не будет, и что это (и так тоже: "title" = "моя программа"), покажите пример как вы используете?




  Записан

madmasles [?]

  • Модератор
  • *
  • *****
  • Репутация: 1426
  • Online Online
  • Пол: Мужской
  • Сообщений: 3819
  • Версия AutoIt: 3.3.6.1 - 3.3.9.4
    • Награды
at,
Попробуйте так.
Код: AutoIt [Выделить]
$sTitle = '[Title:My Program; Class:AutoIt v3 GUI]'
$aList = WinList($sTitle)
If $aList[0][0] Then
    For $i = 1 To $aList[0][0]
        WinActivate($aList[$i][1])
        $hTemp = WinWaitActive($aList[$i][1], '', 5)
        If $hTemp Then
            MsgBox(64, 'Info', 'Active: ' & $aList[$i][0] & @TAB & $aList[$i][1])
        Else
            MsgBox(16, 'Error', 'No Active: ' & $aList[$i][0] & @TAB & $aList[$i][1])
        EndIf
    Next
Else
    MsgBox(16, 'Error', 'No Windows: ' & $sTitle)
EndIf

at [?]

  • Новичок
  • *

  • Автор темы
  • Репутация: 4
  • Offline Offline
  • Пол: Мужской
  • Сообщений: 150
  • Версия AutoIt: 3.3.6.1
    • Награды
Цитата
Viktor1703: покажите пример как вы используете?

Код: AutoIt [Выделить]
$sList = WinList()

For $i = 0 To $sList[0][0]
   If $sList[$i][0] = 'Моя программа' Then
      WinActivate($sList[$i][1])
   EndIf      
Next


Добавлено: Февраль 22, 2012, 16:55:28
Цитата
madmasles: Попробуйте так.
... так работает.

Спасибо всем большое за помощь.
« Последнее редактирование: Февраль 22, 2012, 16:55:29 от at, Причина: Объединение сообщений »



  Записан
 


Похожие темы
Тема Автор Ответов Просмотров Последний ответ
Активировать окно русской справки по хэнделу
AutoIt для новичков
AZJIO 2 1250 Последний ответ Май 04, 2010, 09:32:39
от AZJIO
[Окна, Диалоги] Изменение потребления памяти при разных параметрах состояния окна.
GUI - Графический интерфейс пользователя
madmasles 7 1809 Последний ответ Август 21, 2010, 18:47:36
от madmasles
[Автоматизация] Как активировать и выбрать элемент меню в ControlTreeView
AutoIt для новичков
achumagin 5 1110 Последний ответ Октябрь 04, 2010, 16:27:12
от achumagin
[Окна, Диалоги] Как транслировать содержимое окна чатов одной программы в другую?
AutoIt для новичков
Corwin 1 1115 Последний ответ Ноябрь 03, 2010, 10:39:45
от axlwor
[Окна, Диалоги] Как считать координаты окна? Есть ли штатная функция для этого?
AutoIt для новичков
akoulev 2 1131 Последний ответ Ноябрь 19, 2010, 14:23:43
от akoulev
Вывод на печать содержимого окна по нажатию кнопки внутри этого окна
AutoIt для новичков
Степан 13 901 Последний ответ Сентябрь 12, 2011, 21:55:32
от Степан
[Окна, Диалоги] Как получить заголовок окна, активного в данный момент времени?
AutoIt для новичков
Math 1 576 Последний ответ Декабрь 21, 2011, 15:15:02
от sngr
Прозрачность окна браузера с любым заголовком
AutoIt для новичков
Math 2 337 Последний ответ Декабрь 23, 2011, 00:56:04
от madmasles
[Сеть, интернет] Как активировать неактивную вкладку Google Chrome?
Автоматизация IE и Web-интерфейса
Leanna 2 398 Последний ответ Январь 27, 2012, 23:55:25
от Leanna
Можно активировать окно, зная его Handle, Class, Style, ExStyle ?
AutoIt для новичков
Vampire 13 866 Последний ответ Февраль 27, 2012, 14:06:48
от Kaster


Реклама

* Последние сообщения на форуме
post Сложение через or
[AutoIt для новичков] Serafim Сегодня в 14:35:00
post Re: Авторизация в одноклассниках
[Автоматизация IE и Web-интерфейса] Александр Сегодня в 14:33:42
post Re: [Элементы GUI] Нажать кнопку в скрытом окне
[AutoIt для новичков] InnI Сегодня в 14:31:49
post Re: Как заменить метку времени файла на севере
[Автоматизация IE и Web-интерфейса] eropov Сегодня в 14:11:37
post Re: Авторизация в одноклассниках
[Автоматизация IE и Web-интерфейса] Arei Сегодня в 13:24:59
post Re: Смена IP адресса
[AutoIt для новичков] Zaramot Сегодня в 13:04:33
post Re: Авторизация в одноклассниках
[Автоматизация IE и Web-интерфейса] Александр Сегодня в 12:59:21
post Re: Выполнение скрипта при нажатии средней кнопки мыши
[AutoIt для новичков] madmasles Сегодня в 12:23:31
post [Мышь, клавиатура] Re: Выполнение скрипта при нажатии средней кнопки мыши
[AutoIt для новичков] Nurgazy Сегодня в 12:09:36
post Re: Объясните плз, как работать с массивами ArrayAdd и прочее...
[AutoIt для новичков] madmasles Сегодня в 12:08:03

* Пользователи онлайн
  • Dot Гостей: 136
  • Dot Скрыт: 2
  • Dot Пользователей: 30
  • Dot Пользователи Online: