Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.01.29;
Скачать: CL | DM;

Вниз

Получение описателя в меню   Найти похожие ветки 

 
Hadroran   (2005-11-17 16:15) [0]

Уважаемые мастера.
Приведенный ниже пример помогает нажать на пункт меню 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-18 08:47) [1]

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


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

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


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

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


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

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

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;


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

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



Страницы: 1 вся ветка

Текущий архив: 2006.01.29;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.038 c
15-1136885697
_RusLAN
2006-01-10 12:34
2006.01.29
Программа для создания дистрибутивов


1-1135167580
DVM
2005-12-21 15:19
2006.01.29
Проблема в многопоточном приложении: завершение потоков.


1-1135201419
Destroyer
2005-12-22 00:43
2006.01.29
Узнать каким процессом занят фаил.


15-1136454216
Новичоккк
2006-01-05 12:43
2006.01.29
Разбираюсь с OllyDbg


3-1133281612
kotic
2005-11-29 19:26
2006.01.29
Как совсем удалить запись из DBase?