Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в эту темуОткрыть новую тему
> Uowin - Получение Параметров Заданного Окна
Zeleax
сообщение 14.4.2011, 10:32
Сообщение #1


*********

ex-Moderator UOPilot
Сообщений: 2.440
Регистрация: 8.10.2010
Группа: Пользователи
Наличность: 0
Из: Киев
Пользователь №: 13.093



UOWin 1.6 - Windows утилита (безоконная, безконсольная) для сохранения в текстовый файл (и/или в буфер обмена) информации окна заданного хендлом (координаты, размеры, PID, активность, доступность, состояние окна).
Сайт
Скачать с iFolder

Программе для работы нужен пакет Microsoft .Net Framework 3.5
Если он у вас еще не установлен, то скачать можно здесь

Описание

Использование: uowin.exe [-t] [-c] <хендл окна в десятичном формате> [<txt-файл для сохранения данных>]
Параметр "-t" - полезен для отладки в тестовом режиме, но не пригоден для работающего скрипта (расширенная информация в txt-файле)
Параметр "-c" - копировать данные в буфер обмена


Примеры:
uowin.exe 5534723 c:\my folder\arr.txt
uowin.exe -t 5534723 c:\my folder\arr.txt
uowin.exe -t -c 5534723 c:\my folder\arr.txt
uowin.exe -c 5534723
uowin.exe -c -t 5534723


Структура txt-файла (или буфера обмена) построчно:
1. X координата левого верхнего угла окна
2. Y координата левого верхнего угла окна
3. ширина окна
4. высота окна
5. ID (идентификатор) процесса
6. isActive - окно активно (0 = нет, 1 = да)
7. winState - окно минимизировано или невидимо = 0; окно развернуто = 1; окно максимизировано = 2
8. isMinimized - окно минимизировано (0 = нет, 1 = да)
9. isMaximized - окно максимизировано (0 = нет, 1 = да)
10. isVisible - если окно развернуто (или максимизировано), даже если закрыто другими окнами, то = 1. Если минимизировано = 0
11.isEnabled - окно доступно (0 = нет, 1 = да)


Если окно заданное хендлом не существует - в txt-файле (или в буфере) будет только одна строка с текстом "-1".
Примечание: фактически будет получена информация не окна заданного хендлом, а родительского окна, содержащего в себе указанное.
Например, текстовое поле ввода или даже кнопка рассматриваются системой как отдельные окна и имеют свои хендлы. Программа же вернёт размеры и данные окна на котором расположены эти текстовое поле и кнопка.

Пример использования в скрипте UOPilot:

move 600, 400 // перемещаем курсор мышки
set #handle windowfromcursor // сохраняем в переменную хендл окна под курсором
set workwindow #handle // устанавливаем рабочим окно с указанным хендлом

// Вариант 1 - с файлом
exec d:\uopilot\uowin.exe #handle d:\1.txt
wait 500 // ждать 500 миллисекунд
load_array %arr d:\1.txt
// теперь в массиве %arr хранится информация о координатах, размерах окна и т.д.

// Вариант 2 - с буфером обмена
exec d:\uopilot\uowin.exe -c #handle
wait 500 // ждать 500 миллисекунд
get clipboard %arr
// теперь в массиве %arr хранится информация о координатах, размерах окна и т.д.
set #a %arr[1 6] // 6-й элемент массива
msg Активность окна: #a


В файле 1.txt (или в буфере обмена) будет что-то похожее на:
-8
-8
1297
787
5524
1
2
1
0
1
1

В тестовом режиме (с параметром -t):
X: -8
Y: -8
Width: 1297
Height: 787
Process ID: 5524
isActive: 1
winState: 2
isVisible: 1
isMinimized: 0
isMaximized: 1
isEnabled: 1

Не используйте в скрипте опцию "копирование в буфер" (-c) с тестовым режимом (-t) вместе!
В этом случае элементы массива будут обрабатываться скриптов неверно:
%arr[1] = "X:"
%arr[2] = "-8"
и т.д.


--------------------
Полезные советы - читать всем! UOWiki
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Zeleax
сообщение 14.4.2011, 22:23
Сообщение #2


*********

ex-Moderator UOPilot
Сообщений: 2.440
Регистрация: 8.10.2010
Группа: Пользователи
Наличность: 0
Из: Киев
Пользователь №: 13.093



UOWin 1.6.1
Обновил описание программы. В предыдущей версии (1.6) в описании была ошибка - потерялся параметр WinStat и соответственно параметры после isActive были описаны не на своих местах... =\


--------------------
Полезные советы - читать всем! UOWiki
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
avgur
сообщение 15.4.2011, 0:54
Сообщение #3


***

Novice
Сообщений: 94
Регистрация: 15.8.2010
Группа: Пользователи
Наличность: 0
Пользователь №: 12.926
Возраст: 25



Супер, спасибо!
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 13.9.2011, 12:00
Сообщение #4


***********

Модератор UOPilot
Сообщений: 9.467
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27724
Пользователь №: 11.279



Буду очень рад, если это будет первый плагин. Желательно с возможностью запросить конкретный параметр(чтобы пошустрее летало).


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Zeleax
сообщение 13.9.2011, 21:27
Сообщение #5


*********

ex-Moderator UOPilot
Сообщений: 2.440
Регистрация: 8.10.2010
Группа: Пользователи
Наличность: 0
Из: Киев
Пользователь №: 13.093



Цитата(DarkMaster @ 13.9.2011, 12:00) *

Буду очень рад, если это будет первый плагин. Желательно с возможностью запросить конкретный параметр(чтобы пошустрее летало).

C#, на котором я пишу, не лучший вариант для написания плагинов, т.к. будет требовать Net Framework.
Хотя для тестирования можно было бы, но чуть попозже - у меня сейчас экзамены.


--------------------
Полезные советы - читать всем! UOWiki
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Pandorka
сообщение 14.9.2011, 11:15
Сообщение #6


**

Neophyte
Сообщений: 46
Регистрация: 6.9.2011
Группа: Пользователи
Наличность: 0
Пользователь №: 13.958



Цитата(Zeleax @ 13.9.2011, 22:27) *

у меня сейчас экзамены.


держим за тебя пальцы крестиком (IMG:style_emoticons/default/smile.gif) удачи
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Zeleax
сообщение 16.9.2011, 20:15
Сообщение #7


*********

ex-Moderator UOPilot
Сообщений: 2.440
Регистрация: 8.10.2010
Группа: Пользователи
Наличность: 0
Из: Киев
Пользователь №: 13.093



Цитата(Pandorka @ 14.9.2011, 11:15) *

держим за тебя пальцы крестиком (IMG:style_emoticons/default/smile.gif) удачи

Большое спасибо, помогло! (IMG:style_emoticons/default/wink.gif)


--------------------
Полезные советы - читать всем! UOWiki
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 17.9.2011, 0:12
Сообщение #8


***********

Модератор UOPilot
Сообщений: 9.467
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27724
Пользователь №: 11.279



это тебе маты мои помогли)) я сам не переношу фреймворки, но лучше уж так, чем никак. мож прикрутишь все же?

Сообщение отредактировал DarkMaster - 17.9.2011, 0:15


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия | Версия для КПК Сейчас: 26.4.2024, 5:53
Designed by Nickostyle