![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Получение описателя в меню [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]Люди плиз. помогите. :)