Управление строкой меню другого приложения

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
oskolok_vatbI
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 112
Зарегистрирован: 07.07.2007 (Сб) 16:13
Откуда: г. Казань

Управление строкой меню другого приложения

Сообщение oskolok_vatbI » 08.11.2007 (Чт) 9:47

Здравствуйте, мне нужно в чужой программе открывать очень много файлов и отправлять их на печать. Я пробовал открывать и отправлять на печать файлы посылая в программу сочетания горячих клавиш методами sendkey и keyb_event, но они часто срабатывают некорректно. Теперь, думаю, попробовать делать это же через пункты меню. Интересно, правильно ли будет искать нужный пункт по его хендлу и как передать активизирующую его команду ? Предположу, что это можно будет сделать через SendMessage, а вот как точно я не знаю. Подскажите пожалуйста.

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Сообщение BV » 08.11.2007 (Чт) 11:25

Нажатие любого не-popup пункта меню есть отсылка WM_COMMAND родительскому окну...
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;

oskolok_vatbI
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 112
Зарегистрирован: 07.07.2007 (Сб) 16:13
Откуда: г. Казань

Сообщение oskolok_vatbI » 08.11.2007 (Чт) 17:46

Я через FindWindow нахожу хендл главного окна программы, через GetMenu - хендл главного меню и через GetSubMenu - нужного пункта. Скажите пожалуйста, как и с каким значением WM_COMMAND затолкать мне это в SendMessage. Или же не приведете строчку кода, которая в Блокноте приведет к диалогу открытия файлов ?

Arcady_XQST
Обычный пользователь
Обычный пользователь
 
Сообщения: 85
Зарегистрирован: 17.09.2007 (Пн) 1:27
Откуда: Russia, Bryansk

Сообщение Arcady_XQST » 08.11.2007 (Чт) 18:12

Авторство не моё
Вложения
ManageMenu.rar
(5.27 Кб) Скачиваний: 81
// тили-тили, трали-вали
if (jsLoaded) {
// это дело мне по силе, откажусь теперь едва ли
} else {
// это мы не проходили, это нам не задавали
}

oskolok_vatbI
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 112
Зарегистрирован: 07.07.2007 (Сб) 16:13
Откуда: г. Казань

Сообщение oskolok_vatbI » 08.11.2007 (Чт) 20:12

Большое спасибо. То что мне и нужно.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: YaCy [Bot], Yandex-бот и гости: 74

    TopList