Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.01.2012, 20:25   #1
maks5
Пользователь
 
Регистрация: 08.03.2011
Сообщений: 61
Вопрос Как Checkbox чужой программы в тру?

Как в Checkbox'е чужой программы поставить галочку? Честно в интернете находил, но не получалось. Не мог Handle найти чекбокса. Если поможет: нужно в стандартном пасьянсе Солитер в windows при выигрыше появляется окно игра окончена, в нём нужно поставить галочку. Буду очень благодарен. спасибо.
maks5 вне форума Ответить с цитированием
Старый 09.01.2012, 20:40   #2
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

Цитата:
Сообщение от maks5 Посмотреть сообщение
Как в Checkbox'е чужой программы поставить галочку? Честно в интернете находил, но не получалось. Не мог Handle найти чекбокса. Если поможет: нужно в стандартном пасьянсе Солитер в windows при выигрыше появляется окно игра окончена, в нём нужно поставить галочку. Буду очень благодарен. спасибо.
А что пробовали то??? какие функции?
Я как то писал программу управления чужим приложением.
В вашем случае мне кажется нужно делать следующее:
1. получить все хандлы окна функцией EnumChildWindows(...)
2. перебрать все найденные хэндлы процедурой GetWindowText(...) которая покажет заголовок. Среди заголовков найти тот текст который в чекбоксе.
3. Навести курсор функцией SetCursorPos(...)
4. функцией mouse_event(...) вызвать одиночное нажатие мыши.

все указанные функции лежат в системной библиотеке user32.dll Вам нужно только правильно вызвать их в Вашем приложении.
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Старый 09.01.2012, 21:35   #3
chertovich
Форумчанин
 
Аватар для chertovich
 
Регистрация: 26.07.2009
Сообщений: 489
По умолчанию

3 и 4 пункты WorldMaster-a можно заменить на:
Код:
SendMessage(Handle, WM_LBUTTONDOWN, 0, 0);
SendMessage(Handle, WM_LBUTTONUP, 0, 0);
Если в глубине души вы программист, то, следуя своим наклонностям, вы захотите написать кусок кода.
chertovich вне форума Ответить с цитированием
Старый 09.01.2012, 21:50   #4
maks5
Пользователь
 
Регистрация: 08.03.2011
Сообщений: 61
По умолчанию

Спасибо за мысль с наведением курсора. А положение чек бокса я вытащил с положения окна где он нахедится.
maks5 вне форума Ответить с цитированием
Старый 09.01.2012, 21:51   #5
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

Цитата:
Сообщение от chertovich Посмотреть сообщение
3 и 4 пункты WorldMaster-a можно заменить на:
Код:
SendMessage(Handle, WM_LBUTTONDOWN, 0, 0);
SendMessage(Handle, WM_LBUTTONUP, 0, 0);
Можно. Просто у меня данная функция не срабатывала по какой то причине, поэтому я не стал ее пользовать.
там кстати уточню чтобы между вызовами функций были задержки а то тоже не успевает срабатывать.
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Старый 09.01.2012, 21:53   #6
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

В visual studio есть утилита Spy которая мне очень сильно помогла с поисками хэндлов. И их заголовков или классов.
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как узнать размер чужой программы? maks5 Общие вопросы Delphi 4 05.01.2012 23:35
[C#] Запуск чужой программы JonMagon Помощь студентам 9 19.08.2011 14:18
Запуск чужой программы как сервиса Человек_Борща Общие вопросы Delphi 9 08.02.2011 13:44
Перехватить действия чужой программы Ghost of Night Общие вопросы Delphi 5 16.11.2010 20:04
как взять текст из чужой программы. InqSoft WindowScanner не помог. SarahConner Общие вопросы Delphi 2 24.06.2009 22:48