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

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

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.10.2008, 09:13   #11
Стелс
Я с вами :-)
Форумчанин
 
Аватар для Стелс
 
Регистрация: 19.10.2008
Сообщений: 110
По умолчанию

ну вобщем спасибо за подсказку ,буду ковырять , тема закрыта !!!

Большое спасибо вам !!! Как я сам не подумал ,что так можно сделать ?? Зациклился )) Еще раз спасибо, вы мне очень помогли .
٩(๏̯͡๏)۶٩(๏̯͡๏)۶٩(๏̯͡๏)۶ моя любимая книга - Окна for чайников . Кодить начал ещё вчера . ......кто там кодит ? Да не кто не кодит это я куякнулся

Последний раз редактировалось rpy3uH; 24.10.2008 в 11:18.
Стелс вне форума Ответить с цитированием
Старый 23.10.2008, 21:28   #12
Somebody
Участник клуба
 
Регистрация: 08.10.2007
Сообщений: 1,185
По умолчанию

Ещё можно через EnumChildWindows, учитывая, что у одной и той же проги окна всегда будут перечисляться в одном порядке. Бывает полезно, если есть несколько окон с одним классом, а заголовки изменять им нельзя (например, надо вытащить пароль из открытого qip'а).
Somebody вне форума Ответить с цитированием
Старый 30.10.2008, 01:01   #13
DavidBlaine
 
Аватар для DavidBlaine
 
Регистрация: 30.10.2008
Сообщений: 4
Смех ButtonWnd:= GetNextWindow(ButtonWnd,GW_HWNDNEXT );

TMainForm
|
|
*TPanel
|
|
**TButton "Выход"
|
|
**TButton "Выход"
|
|
**TButton "Выход" < - мне нужно передать сообщение этой кнопке
|
|
**TButton "Выход"

PHP код:
  // определяем хэндл формы
  
FormWnd:= FindWindow(nil'Заголовок формы');
  
// определяем хэндл панели на форме
  
PanelWnd:= FindWindowEx(FormWnd,0,'TPanel1',nil);
  
// определяем хэндл кнопы на панели
  
ButtonWnd:= FindWindowEx(PanelWnd,0,nil,PChar('Выход'));
  
// переходим на хэндл следующей кнопы
  
ButtonWnd:= GetNextWindow(ButtonWnd,GW_HWNDNEXT);
  
// и есчо раз к третьей кнопке
  
ButtonWnd:= GetNextWindow(ButtonWnd,GW_HWNDNEXT);
  
// жмем ее
  
SendMessage(ButtonWnd,WM_LButtonDown,1,1);
  
SendMessage(ButtonWnd,WM_LButtonUP,1,1); 
вроде-бы так =) с кнопками есчо не пробовал
но на едитах и лейблах все OK работает!
Здесь типо демократия, на самом деле царство.
Я так люблю свою страну и ненавижу государство!
(С) Lumen
DavidBlaine вне форума Ответить с цитированием
Старый 30.10.2008, 01:14   #14
DavidBlaine
 
Аватар для DavidBlaine
 
Регистрация: 30.10.2008
Сообщений: 4
По умолчанию

А может кто знает, как таким же способом сграбить все значения ComboBox'а? Не только активное, но и остальные, которые можно выбрать. =)
Здесь типо демократия, на самом деле царство.
Я так люблю свою страну и ненавижу государство!
(С) Lumen
DavidBlaine вне форума Ответить с цитированием
Старый 30.10.2008, 02:18   #15
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

А вы можете в своей программе вывести, скажем, в листбокс все итемсы своего комбобокса? Думаю, что да... Так в чем вопрос?
Если вы нашли нужный комбобокс, берите все его итемсы.
mihali4 вне форума Ответить с цитированием
Старый 31.10.2008, 01:14   #16
DavidBlaine
 
Аватар для DavidBlaine
 
Регистрация: 30.10.2008
Сообщений: 4
По умолчанию

Гы =) так в этом и заключается фся проблема =)
Программа не моя и уж темболее КомбоБокс не мой ;(
Как сграбить чекнутый итемс я знаю, а вот как остальные? O_o
Мож есть функция перебора итемсов хендлами? Иль что есчо?


И есчо одна задачка в тему хэндлов и чужих прог! :D
Как нажать на кнопку? Да-да, "просто нажать" на кнопку! :\
Совсем обычная кнопочка с лейблом "Отправить"
Хэндлами я ее с легкостью нахожу =)
И без труда меняю ее лейбл!
Но вот нажать на нее, так как на другие кнопы - НЕПОЛУЧАЕТСО =(((
Подскажите пожулуйста, как это обойти!
Здесь типо демократия, на самом деле царство.
Я так люблю свою страну и ненавижу государство!
(С) Lumen
DavidBlaine вне форума Ответить с цитированием
Старый 31.10.2008, 01:31   #17
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

И еще раз:
"А вы можете в своей программе вывести, скажем, в листбокс все итемсы своего комбобокса?"
Вы думаете, что изъятие итемсов из комбобокса в другой программе чем-то отличается? Ничем. Задача одна - найти этот комбобокс, чтобы к нему можно было обращаться. А именно этому и посвящена данная тема...
А по поводу нажатия на кнопку... Есть, например, SENDMESSAGE. И другие способы. Вы по форуму-то погуляйте, прежде чем задавать уже затасканные вопросы...
mihali4 вне форума Ответить с цитированием
Старый 01.11.2008, 01:27   #18
DavidBlaine
 
Аватар для DavidBlaine
 
Регистрация: 30.10.2008
Сообщений: 4
По умолчанию

Мну надо из КомбоБокса чужой проги копирнуть все итемсы в КомбоБокс моей проги
Что-то типо етого: ComboBox2.Items:= ComboBox1.Items;
Хэндл чужого КомбоБокса я знаю! Но вот как копирнуть все итемсы? O_o

С кнопкой разобралсо так:
Код:
     GetWindowRect(Button1Wnd,Pos);
     SetCursorPos(Pos.Left+40,Pos.Top+10);
     Mouse_Event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);
     Sleep(33);
     SetCursorPos(Pos.Left+40,Pos.Top+10);
     Mouse_Event(MOUSEEVENTF_LEFTUP,0,0,0,0);
"Все" СендМесанджы не прокатывают =(
Из-за чего это может-быть ? O_o
Мож какая-то защита? :?

___________________________________

Есчо один вопрос:
допустим есть чужая форма и на ней 2а Едита с Баттоном
при нажатии на Баттон текст из Едитов передается др форме проги
можно-ли каким нибудь образом подменить Едиты?
то есть реальные Едиты скрыть с нужным мне текстом
и создать ложные Едиты для ввода текста пользователем?
(все манипуляции с чужой прогой/формой/едитами)
короч... возможно это все бред, или...
Здесь типо демократия, на самом деле царство.
Я так люблю свою страну и ненавижу государство!
(С) Lumen

Последний раз редактировалось DavidBlaine; 01.11.2008 в 01:49. Причина: возник новый вопрос :!
DavidBlaine вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
FindWindow Comer_Jus Win Api 7 29.11.2008 10:17
Куча вопросов vilini Работа с сетью в Delphi 1 18.08.2008 11:56
FindWindow не нашел окна, а ShellExecute возвращает ERROR_PATH_NOT_FOUND malor Win Api 2 19.07.2007 15:15
Вопрос про функцию FindWindow Dromok Общие вопросы Delphi 3 12.02.2007 23:00