Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Получение описателя в меню [D6, WinXP]


Hadroran ©   (2005-11-17 16:15:00) 

Уважаемые мастера.
Приведенный ниже пример помогает нажать на пункт меню File-Open.

 Hnd:=FindWindow(nil, 'Delphi 6-Project1');
 if Hnd <> 0 then begin
   windows.SetForegroundWindow(Hnd);  
   HndMen:=GetMenu(Hnd);
   HndSMen:=GetSubMenu(HndMen,0);
   idMen:=GetMenuItemID(HndSMen,1);
   if idMen <> 0 then begin
     PostMessage(Hnd,WM_COMMAND,idMen,0);

Вопрос: А как нажать к примеру на File-New-Application?

Заранее спасибо.


Hadroran   (2005-11-19 10:20:00) [1]

Спасибо. Все получилось :)


Ботвин Дмитрий   (2005-11-18 11:27:00) [2]

Вот так будет в твоём случае:

Hnd:=FindWindow(nil, 'Delphi 6-Project1');
if Hnd <> 0 then
   begin
     SetForegroundWindow(Hnd);  
     HndMen:=GetMenu(Hnd);
     HndSMen:=GetSubMenu(HndMen,0);
      HndSMen:=GetSubMenu(HndSMen,0);
     idMen:=GetMenuItemID(HndSMen,0);
    if idMen <> 0 then PostMessage(Hnd,WM_COMMAND,idMen,0);
  end;


Ботвин Дмитрий   (2005-11-18 10:30:00) [3]

А что GetSubMenu разве не позволяет организовать прохождение по
вложеннем подменю?


Ботвин Дмитрий   (2005-11-18 10:25:00) [4]

Наверно, проще через keybd_event


Hadroran   (2005-11-18 08:47:00) [5]

Люди плиз. помогите. :)


Наверх

Титульная страница Поиск, карта сайта Написать письмо