powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Анализ интерфейса программы
25 сообщений из 34, страница 1 из 2
Анализ интерфейса программы
    #38689173
Gustly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день.

Такая задача. Есть программа 2002 года от Microsoft. Интерфейс очень неудобный. С помощью resource hacker я расширил диалоговые окна и стало удобнее работать. Правда есть места, которые я не нашел ни в ДЛЛ ни в ЕХЕ с помощью resource hacker. Есть ли какие-нибудь программы, которые могут дать какие-либо сведения об интерфейсе запущенной программы. Хочу конкретно в элементе "дерево" сделать поиск по этому дереву, так как его нет. Видел статью на хакере как склеить 2 исполняемых файла. Идея появилась написать новый ЕХЕ который будет в запущенной программе запускать новое окошко поиска и шагать по дереву. Может кто толкнет дальше, куда копать?
...
Рейтинг: 0 / 0
Анализ интерфейса программы
    #38689190
posledniy-ptr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gustly, Ну так элементы интерфейса могут создаваться динамически, кодом.
Имхо тут уже надо быть гуру ассемблера с хексредактором наперевес. Тем более чтобы добавить туда поиск.
...
Рейтинг: 0 / 0
Анализ интерфейса программы
    #38689248
Gustly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
posledniy-ptr,

Очень давно была у меня прога, которая позволяла мышкой тупо кликнуть по элементу другой проги, и получить информацию. Точно помню мне писалось что-то типа TEdit из моих дельфовых EXEшников, но увы не помню уже и названия. Еще пример всякие анлокеры или показыватели паролей, которые при наведение на инпут вместо **** показывают текст.

Вот и хочу хотя бы свою отдельную прогу сделать, которая при наведение на дерево основной проги по нему пробежалась и встала на нужный элемент.
...
Рейтинг: 0 / 0
Анализ интерфейса программы
    #38689262
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GustlyМожет кто толкнет дальше, куда копать?
Найти хендл дерева и изучать справку на предмет, что с ним можно сделать: http://msdn.microsoft.com/en-us/library/windows/desktop/bb759988(v=vs.85).aspx

P.S. И надеяться, что контрол нативный, а не самописный.
...
Рейтинг: 0 / 0
Анализ интерфейса программы
    #38689265
Gustly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadman,

Так вот. Как мне извне этот хэндл получить? Опыт более менее есть только в делфи, visual FOXPRO. Думаю делфи больше в этом поможет.
...
Рейтинг: 0 / 0
Анализ интерфейса программы
    #38689274
petalvik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gustly,

Spy++ пробовал?
...
Рейтинг: 0 / 0
Анализ интерфейса программы
    #38689280
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GustlyКак мне извне этот хэндл получить?
EnumWindows
EnumChildWindows

Spy++ подскажет путь для поиска.
...
Рейтинг: 0 / 0
Анализ интерфейса программы
    #38689718
Фотография VSVLAD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gustly,

FindWindow, FindWindowEx. Работать с деревом через SendMessage. Кнопку можно псевдоприцепить к окну "дочерней программы" через SetParent
...
Рейтинг: 0 / 0
Анализ интерфейса программы
    #38690325
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gustly,

добрый совет тебе: брось это дело.
...
Рейтинг: 0 / 0
Анализ интерфейса программы
    #38690365
Gustly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petalvik,

Я так понял это приблуда Visual studio ? В наличие у меня только express версии 2008 / 2012, они подойдут?

VSVLAD,

Можно поподробнее, это где вызывать?

MasterZiv,

Для меня это спортивный интерес. Бывает немного минут появляется в наличие, и пытаюсь сделать что-нибудь эдакое.
...
Рейтинг: 0 / 0
Анализ интерфейса программы
    #38690420
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Потратьте свой спортивный интерес на чтение документации. В частности, на ограничения Express-версий.
...
Рейтинг: 0 / 0
Анализ интерфейса программы
    #38690729
Gustly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почти получилось. Получил хэндл элемента. Это оказался ListBox. Но вот как с ним теперь работать?
Написал прогу на visual basic
посылаю
Call SendMessage(wnd, WM_SETTEXT, 0, "Test")
В инспекторе (вместо spy++ скачал Winspector) вижу новое свойство у него. Но как перебрать все элементы, да еще после этого выбрать нужный?
...
Рейтинг: 0 / 0
Анализ интерфейса программы
    #38690738
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GustlyCall SendMessage(wnd, WM_SETTEXT, 0, "Test")
MSDN вообще полезная штука. Позволяет сэкономить кучу времени на ожидании ответов: http://msdn.microsoft.com/ru-RU/library/windows/desktop/bb775146(v=vs.85).aspx
...
Рейтинг: 0 / 0
Анализ интерфейса программы
    #38690759
Gustly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadman,

Вот. Я как раз сам до него дошел. Теперь напоролся на. У меня есть сообщение LB_FINDSTRING message, а на вход ему надо Long, то есть число. Как можно конвертнуть?
...
Рейтинг: 0 / 0
Анализ интерфейса программы
    #38690810
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторA pointer to the null-terminated string that contains the string for which to search. The search is case independent, so this string can contain any combination of uppercase and lowercase letters.

Зачем конвертировать? Pointer и есть число (порядковый номер ячейки памяти).
...
Рейтинг: 0 / 0
Анализ интерфейса программы
    #38690842
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GustlyВот. Я как раз сам до него дошел. Теперь напоролся на. У меня есть сообщение LB_FINDSTRING message, а на вход ему надо Long, то есть число. Как можно конвертнуть?
Даже отвечать не хочется. Ты решил заняться матаном и решать матрицы с многомерными интегралами
но вдруг (внезапно!) оказалось что не умеешь умножать числа в столбик.

От такой тоски и печали меня охватывает грусть и уныние за весь new generation...
...
Рейтинг: 0 / 0
Анализ интерфейса программы
    #38690847
Gustly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadman,

Объявление
Код: vbnet
1.
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Integer, ByVal lParam As String) As Long


2-й параметр ByVal wMsg As Long - число. А в хелпе написано LB_FINDSTRING.

Или я что-то не так понял ? ?(

Вот пример заполнения текста
Код: vbnet
1.
Сall SendMessage(wnd, WM_SETTEXT, 0, "Test2") 'изменяем текст в текст боксе на "Привет"


Здесь WM_SETTEXT объявляется в начале кода.
...
Рейтинг: 0 / 0
Анализ интерфейса программы
    #38690881
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gustly2-й параметр ByVal wMsg As Long - число. А в хелпе написано LB_FINDSTRING.
И? Не понимаю, в чем проблема?
...
Рейтинг: 0 / 0
Анализ интерфейса программы
    #38691119
Gustly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadman,

У меня не объявлен LB_FINDSTRING. На сколько я помню надо подключать файл с объявлениями, у меня его нет, наверное. Нашел на одном сайте объявление LB_FINDSTRING, но message стал возвращать очень большое число, вместо ожидаемого 12 (номер искомого элемента), возможно там задан LB_FINDSTRING неверно.
...
Рейтинг: 0 / 0
Анализ интерфейса программы
    #38691420
_Дмит_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Public Const LB_FINDSTRING = &H18F
такие вещи не на сайтах ищут, а к примеру - API Viewer. Или типа такого наверно есть для делфи.
...
Рейтинг: 0 / 0
Анализ интерфейса программы
    #38691422
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gustly, LB_FINDSTRING = 399, возвращает либо индекс искомой строки, либо -1, если не найдено.
...
Рейтинг: 0 / 0
Анализ интерфейса программы
    #38691463
Gustly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Делаю
MsgBox(SendMessage(wnd, LB_FINDSTRING, -1, ""))
Показывает всегда 4294967295, при любых значениях 4-го параметра.
Увы в visual studio не нашел API viewer :( приходится рыть в инете.
...
Рейтинг: 0 / 0
Анализ интерфейса программы
    #38691471
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GustlyПоказывает всегда 4294967295, при любых значениях 4-го параметра.
Это -1.
GustlyУвы в visual studio не нашел API viewer :( приходится рыть в инете.
Это там все имеется. Может стоит обратиться к программисту?
...
Рейтинг: 0 / 0
Анализ интерфейса программы
    #38691490
Gustly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadman,

Обижаете.

Я и есть программист, только другого направления. И вижу visual studio вместе с visual basic 2-й день.
Для себя нашел
...
Рейтинг: 0 / 0
Анализ интерфейса программы
    #38691491
Gustly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
C:\Program Files (x86)\Windows Kits\8.0\Include\um\WinUser.h
Тут есть все константы.

А вот с поиском пока не разобрался, почему -1 там.
...
Рейтинг: 0 / 0
25 сообщений из 34, страница 1 из 2
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Анализ интерфейса программы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]