Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Как прочитать текст меню чужой программы?  (Прочитано 9067 раз)
0 Пользователей и 1 Гость смотрят эту тему.
monrus
Опытный

ru
Offline Offline

« : 22-06-2007 10:36 » 

Мне нужно считать текст, например, 2-го пункта меню запущенной чужой программы. Как это можно сделать?
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #1 : 22-06-2007 10:46 » 

уточни, какое меню Улыбаюсь

1) меню - системное (выпадает после правого щелчка по заголовку главного окна)
2) строка меню (меню под заголовком)
3) контекстное меню какого то ещё окна


1 - несложно, выцепить главное окно программыи подправить меню
2 - не пробовал, но, наверное, не сильно сложно
3 - зависит от ответа...
Записан

monrus
Опытный

ru
Offline Offline

« Ответ #2 : 22-06-2007 11:10 » 

Строка меню под заголовком - не системное, которое можно получить с помощью GetMenu
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #3 : 22-06-2007 11:29 » 

GetSystemMenu - достать системное меню
GetMenu - достать главное меню

как на дельфях в деталях не знаю, а на API типа того -


HMENU hm=::GetMenu(хендл_главного_окна);

и погнали работать с hm ...

То есть осталось главное окно достать только
« Последнее редактирование: 22-06-2007 11:31 от Алексей1153++ » Записан

monrus
Опытный

ru
Offline Offline

« Ответ #4 : 22-06-2007 11:35 » 

Получить то я получил меню - а как прочитать текст какого нить пункта - не знаю
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #5 : 22-06-2007 11:39 » 

BOOL GetMenuItemInfo(
    HMENU hMenu,
    UINT uItem,
    BOOL fByPosition,
    LPMENUITEMINFO lpmii
);

Parameters

hMenu
    [in] Handle to the menu that contains the menu item.

uItem
    [in] Identifier or position of the menu item to get information about. The meaning of this parameter depends on the value of fByPosition.

fByPosition
    [in] Specifies the meaning of uItem. If this parameter is FALSE, uItem is a menu item identifier. Otherwise, it is a menu item position.

lpmii
    [in, out] Pointer to a MENUITEMINFO structure that specifies the information to retrieve and receives information about the menu item. Note that you must set MENUITEMINFO.cbSize to sizeof(MENUITEMINFO) before calling this function.

Return Value
   If the function succeeds, the return value is nonzero.
If the function fails, the return value is zero. To get extended error information, use the GetLastError function.

« Последнее редактирование: 22-06-2007 11:41 от Алексей1153++ » Записан

monrus
Опытный

ru
Offline Offline

« Ответ #6 : 22-06-2007 12:15 » 

Спасибо. Вот что я нашел - GetMenuString
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines