Что нового

[Элементы GUI] Собрать GUI приложения в SQL БД - заплачу

keyboard

Новичок
Сообщения
5
Репутация
0
Оплачу работу
Задача: собрать все возможные элементы GUI, использованные в приложении.

Необходим скрипт, который
1. Собирает информацю о текущем окне и его содержимом
2. Проходит все меню приложения, последовательно нажимает все имеющиеся кнопки, одновременно с этим собирая информацию о элементах GUI в открытываемых окнах.
Хранить всё желательно в SQL таблице (например, в SQLite), но можно и в текстовом файле если я потом смогу восстановить какой элемент GUI из какого окна.

Пример:
1. Запускаем Internet Explorer (вручную)
2. Скрип собирает информацию о том какие элементы графического интерфейса находятся на экране
3. Далее, скрипт вызывает первое меню, первый пункт, собираем элементы GUI.
4. Вызываем нажате одной из кнопок, если появилось новое окно, то собираем GUI.
5. Закрываем окно и нажимаем следующую кнопку.
Таким образом должен быть осуществлен проход по всем кнопкам. Цель - собрать все элементы интерфейса предусмотренные разработчиками этого ПО и сохранить сведения о них в реляционную БД (идеально)

Какие GUI собирать?
Если кратко, то все возможные.
Если детально, то: заголовок окна, каждую кнопки и caption на ней, текст из всех имеющихся полей, статус checkbox и radiobutton, если есть пиктограммы, то желательно их тоже собрать, цвет фона, размер окна, модальное/не модальное, какие системные кнопки есть.
В придачу, нужа будет инстуркция как настроить скрипт для любого произвольного приложения, где, скажем, меню не стандартное (как в Word/Excel)

Скажите, готовы ли Вы взяться, сколько времени необходимо и во сколько Вы оцениваете написание такого скрипта
Спасибо!
 

inververs

AutoIT Гуру
Сообщения
2,135
Репутация
465
А если я нарисую интерфейс приложения в painte вы тоже захотите что бы скрипт собирал весь интерфейс?
 
Автор
K

keyboard

Новичок
Сообщения
5
Репутация
0
Ценю юмор.
Отвечаю. Да, я тогда захочу сохранить рисунок в формате BLOB в SQL таблице или файлом *.PNG/BMP на худой конец.
Если говорить серьёзно о Паинте, то из Паинта мне достаточно было бы знать свойства открытого окна, перечень иконок на всех закладках, пиктограммы иконок, состояние иконок (если возможно), и все окна, которые появляются по нажатию иконок в тулбаре (например окно "Edit Colors")
Задача непростая и я ожидаю что она займёт прилично времени и потребует определенной квалификации. Поэтому я готов за нее заплатить. Если что-то нереализуемого из моих "хотелок" или слишком сложно, напишите и мы обсудим каждый пункт отдельно.
Если есть предложения по полуавтоматическому способу, тоже предлагайте, но за это будет другая цена.

P.S. Результат, собранный в БД будет использоваться в другом, существенно более сложном приложении..
 

inververs

AutoIT Гуру
Сообщения
2,135
Репутация
465
К чему это я говорил, к тому, что вы хотите получить скрипт который будет работать в любом приложении. А это уже невыполнимо. К примеру, будет у вас работающий скрипт, вы принимаете работу, тестируете на выбранном приложении, а интерфейс этого приложения рисованный, естественно скрипт не справляется, т.е не работает, и получается что работа не выполнена, а значит можно не оплачивать. И вот так можно гонять по кругу, вам дают исправленную версию, которая не находит что то другое и т.п.
ИМХО: максимум, что можно сделать, это собирать информацию со "стандартных" контролов.
К примеру, возьмем браузер Opera из котролов у него только OperaWindowClass и все, хотя в интерфейсе присутствует поле для ввода URL, меню, контрол изменения масштаба, кнопка отображения боковой панели, кнопка домой, назад, вперед и т.д.
 
Автор
K

keyboard

Новичок
Сообщения
5
Репутация
0
К примеру, возьмем браузер Opera из котролов у него только OperaWindowClass и все, хотя в интерфейсе присутствует поле для ввода URL, меню, контрол изменения масштаба, кнопка отображения боковой панели, кнопка домой, назад, вперед и т.д.
Хороший пример. Да, ценность приложения которое схавает и URL и меню и т.п. куда выше.
К слову, какие элементы GUI охватывает класс OperaWindowClass?


Добавлено:
Сообщение автоматически объединено:

Можете привести примеры "стандартных" контролов и приложений (потенциально) использующих в основном их?
у меня нет цели получить код нахаляву. Моя задача - охватить как можно бОльший набор приложений. Я исхожу из наиболее популярных и повсеместно распространённых приложений.
Затюненный скрипт под одно-два приложения меня устроит только если приложение дествительно не простое (вроде 3D Max).
В конце-концов, не обязательно иметь только один скрипт. Почему бы не запускать набор скриптов последовательно подбирая наиболее подходящий?
 

inververs

AutoIT Гуру
Сообщения
2,135
Репутация
465
Стандартные внутри.
Из стандартных это
Animation
Button
ComboBox
ComboBoxEx
Date and Time Picker
Edit Control
Flat Scroll Bar
Header Control
Hot Key
Image Lists
IP Address
List Box
List View
Month Calendar
Pager
Progress Bar
Property Sheet
Rebar
Rich Edit
Scroll Bar
Static Control
Status Bar
SysLink
Tab
Task Dialog
Toolbar
Tooltip
Trackbar
Tree View
Up-Down
Bitmap
CheckBox
DirectoryCombo
DirectoryList
Edit
GroupBox
Hyperlink
Icon
Line
ListBox
ListView
MaskedEdit
PathEdit
ProgressBar
PushButton
RadioButtonGroup
ScrollableText
SelectionTree
Text
VolumeCostList
VolumeSelectCombo
может быть какие нибудь другие,
+ стандартное меню
Из этих контролов можно получить любую информацию. Со всех остальных - нужно делать что то специальное.
Может вам открыть приложение в редакторе ресурсов, и если вам повезет, сможете увидеть формы, диалоги и др. элементы графического интерфейса.
 
Автор
K

keyboard

Новичок
Сообщения
5
Репутация
0
Минимальный набор функций который меня устроит - это сборщик handle активного окна, кол-ва и caption кнопок в окне с сохранением (хотя бы) в файл. Но за это я готов заплатить всего $20 . За автоматизированный скрипт который покроет функциональностью по сбору данных о GUI хотя бы 70% ТОП популярных программ для PC на OS Windows (например, таких http://cleansofts.org/software/popular.html), я охотно выложу четырехзначную сумму в долларах.

Все условия обсуждаемые и, разумеется, спецификации тоже будут. Пожалуйста, если есть интерес и возможность разработать данный функционал, пишите тут или в личку.
 
Верх