Форум программистов, компьютерный форум CyberForum.ru

дескриптор элемента управления - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.81
Игорь98
34 / 34 / 3
Регистрация: 12.02.2010
Сообщений: 239
09.07.2010, 18:21     дескриптор элемента управления #1
Как мне например узнать дескриптор кнопки в программе???
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MikeSoft
Эксперт C++
 Аватар для MikeSoft
3781 / 1765 / 85
Регистрация: 21.11.2009
Сообщений: 2,540
09.07.2010, 18:55     дескриптор элемента управления #2
Игорь98, нужно найти дескриптор окна с помощью FindWindow, а потом получить дескриптор контрола с помощью FindWindowEx.

Для примера:
C++
1
2
3
HWND h = FindWindow(NULL,"Form1");                   // находим дескриптор формы
h = FindWindowEx(h,NULL,NULL,"Button1");             // находим дескриптор контрола
SendMessage(h,WM_SETTEXT,NULL,LPARAM("MyButton1"));  // устанавливаем новый текст
Игорь98
34 / 34 / 3
Регистрация: 12.02.2010
Сообщений: 239
09.07.2010, 21:34  [ТС]     дескриптор элемента управления #3
Вот это я определил, теперь мне надо определить ID кнопки и послать ей сообщение о нажатие!!! Делаю так:
C++
1
2
3
HWND h = FindWindow("TForm1","Form1");
h = FindWindowEx(h,NULL,NULL,"Привет");
SendMessage(h, WM_COMMAND, BN_CLICKED | GetDlgCtrlID(h));
Компилятор ругается что мол функция SendMessage выглядет по другому!!! Насколько я знаю после слов BN_CLICKED | должно стоять число, дык как мне его туда запихать???
alex_x_x
бжни
 Аватар для alex_x_x
2441 / 1646 / 84
Регистрация: 14.05.2009
Сообщений: 7,163
09.07.2010, 21:42     дескриптор элемента управления #4
вы путаете две разные функции - одна винапи с параметрами
C
1
2
3
4
5
6
LRESULT WINAPI SendMessage(
  __in  HWND hWnd,
  __in  UINT Msg,
  __in  WPARAM wParam,
  __in  LPARAM lParam
);
другая - метод CWnd - то что вы пытаетесь вызвать, но это неправильно, так как эта кнопка не вашего приложения
Игорь98
34 / 34 / 3
Регистрация: 12.02.2010
Сообщений: 239
09.07.2010, 21:48  [ТС]     дескриптор элемента управления #5
А как правильно нужно сделать???
alex_x_x
бжни
 Аватар для alex_x_x
2441 / 1646 / 84
Регистрация: 14.05.2009
Сообщений: 7,163
09.07.2010, 21:56     дескриптор элемента управления #6
SendMessage(h, BM_CLICK, 0, 0); полагаю

Добавлено через 1 минуту
кнопка-то в своей программе?
Игорь98
34 / 34 / 3
Регистрация: 12.02.2010
Сообщений: 239
09.07.2010, 22:03  [ТС]     дескриптор элемента управления #7
Цитата Сообщение от alex_x_x Посмотреть сообщение
кнопка-то в своей программе?
да нет, я сделал консольное приложение которое запускает другое приложение и отправляет сообщения запущенному приложению!!!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.07.2010, 22:05     дескриптор элемента управления
Еще ссылки по теме:

C++ Что такое дескриптор ?
Как инициализировать дескриптор для записи и чтения файла C++
Дескриптор обьекта C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
alex_x_x
бжни
 Аватар для alex_x_x
2441 / 1646 / 84
Регистрация: 14.05.2009
Сообщений: 7,163
09.07.2010, 22:05     дескриптор элемента управления #8
ну пробуйте тогда, и обязательно проверяйте возвращаемые значения
Yandex
Объявления
09.07.2010, 22:05     дескриптор элемента управления
Ответ Создать тему
Опции темы

Текущее время: 15:34. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru