Работа со сторонними окнами

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
LionK
Начинающий
Начинающий
 
Сообщения: 20
Зарегистрирован: 11.10.2005 (Вт) 1:59

Работа со сторонними окнами

Сообщение LionK » 25.10.2006 (Ср) 3:32

Нужно произвести некие дeйствия с объектами в окне стороннего прилажения, нажатие определенных кнопок, ввод текста в техтвох, установку чекбоксов, или хотябы узнать координаты окна и его объектов. Кто знает, помогите!!!

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Сообщение BV » 25.10.2006 (Ср) 3:37

SendMessage/PostMessage/WindowFromPoint/FindWindow/FindWindowEx
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;

LionK
Начинающий
Начинающий
 
Сообщения: 20
Зарегистрирован: 11.10.2005 (Вт) 1:59

Сообщение LionK » 25.10.2006 (Ср) 6:43

А немножко попадробней можно?

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 25.10.2006 (Ср) 7:25

Подробнее?

Работа с оконными объектами (собственно окна и элементы управления) производится при помощи сообщений, которые отправляются окну функцией SendMessage (или в некоторых ситуациях при помощи PostMessage). Для того чтобы отправить окну сообщение надо знать его (окна) описатель (handle). Для каждого действия имеется свое сообщение со своим идентификатором. Подробностивсего этого в MSDN.

З.Ы. Если вопрос будет поставлен более конкретно, то будет и более конкретный ответ.
Весь мир матрица, а мы в нем потоки байтов!

LionK
Начинающий
Начинающий
 
Сообщения: 20
Зарегистрирован: 11.10.2005 (Вт) 1:59

Сообщение LionK » 25.10.2006 (Ср) 8:48

to !Viper!
Код: Выделить всё
З.Ы. Если вопрос будет поставлен более конкретно, то будет и более конкретный ответ.


не знаю, как ещё более конкретней спросить...... :(

я ламер по этому поводу...... просто хочется програмку сделать которая будет всякий софт настраивать как я привык, его наблюдать..... :) , а то часто всем устанавливаю всякую ... а времени на настройки много уходит.... :lol:

я нашёл как хенделы находить, но я не знаю как проиводить действия с объектами, я знаю название окна -> нахожу его хендл -> а как найти хендлы объектов в окне не пойму.
У меня есть два примера работы с хендлами но почему-то я не найду найденый хендл из одного в другом.......

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 25.10.2006 (Ср) 9:48

Окна контролов являются дочерним окнами для окна их содержащего. Можно найти их хэндлы функцией EnumChildWindows
Весь мир матрица, а мы в нем потоки байтов!

miwutka
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 76
Зарегистрирован: 10.11.2005 (Чт) 16:34
Откуда: Moscow, Elektrostal

Сообщение miwutka » 30.10.2006 (Пн) 16:55

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

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 30.10.2006 (Пн) 17:03

теоретически да... практически... огребешь проблем болше чем получишь удовольствия от результата... Как рисовать то бум?
Весь мир матрица, а мы в нем потоки байтов!

miwutka
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 76
Зарегистрирован: 10.11.2005 (Чт) 16:34
Откуда: Moscow, Elektrostal

Сообщение miwutka » 30.10.2006 (Пн) 17:20

хм.. вот мне и интересно, что за проблемы могут быть?

рисовать по точкам. выбираем карандаш, позиционируем мышь (??) , кликаем - вот точка.. смещаем мышку, еще точку... уже линии.

ну или хотя бы программно пользоваться фильтрами...

это можн?:
... я расправляю крылья ...

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 30.10.2006 (Пн) 17:23

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

miwutka
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 76
Зарегистрирован: 10.11.2005 (Чт) 16:34
Откуда: Moscow, Elektrostal

Сообщение miwutka » 30.10.2006 (Пн) 17:28

там про макросы (actions)

тем не менее, речь не только в фотошопе, а вообще.

мне интересно, какие могут быть трудности с этим
... я расправляю крылья ...

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 30.10.2006 (Пн) 17:31

Неожиданное появление пары новых пунктов в меню в программе, о которых не знал, потому что они проявляются в условиях, которые не возникают у тебя.

Неожиданные чужие окна, возникающие и перехватывающие фокус и/или мышь.

И всякое такое.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Majestic-12 [Bot], SemrushBot и гости: 125

    TopList