Трей в приложении. Подскажите

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
LSA
Начинающий
Начинающий
 
Сообщения: 3
Зарегистрирован: 25.03.2004 (Чт) 19:36
Откуда: Великий Новгород

Трей в приложении. Подскажите

Сообщение LSA » 25.03.2004 (Чт) 20:14

Всем привет!
Посмотрел на форуме все что касается трея, а чего надо не нашел.
ЗАДАЧА
Поместить трей в собственное приложение. (если это конечно возможно)
ВОПРОС
Как поместить трей в свою форму, разумеется чтоб и работал также?
Или
Как определить в трее в данный момент процесс или нет? По крайней мере так можно было бы дублировать состояние трея.
PS.
В API функциях не нашел ту которая возвращала бы признак в трее процесс или нет. Может не там искал.
Хотелось бы получить конкретный ответ или совет на эту тему.

СПАСИБО за помощь.

_Мика_
Гуру
Гуру
 
Сообщения: 1459
Зарегистрирован: 24.10.2003 (Пт) 15:05
Откуда: г. Москва, м.Речной вокзал

Сообщение _Мика_ » 25.03.2004 (Чт) 20:32

Начнем с таго что "трей в приложение" поместить нельзя!!! Наоборот- приложение в трей!
Ну незнаю я лично пользуюсь ОСХ для трея на www.vbnet.tu есть называется кажется trayicon6.ocx что-то вроде того. Если не хочиш то если хочеш могу проект кинуть 8)
-Папа, а правда, что форумы делают людей дибилами?
-гы гы гы, сынок, лол!

LSA
Начинающий
Начинающий
 
Сообщения: 3
Зарегистрирован: 25.03.2004 (Чт) 19:36
Откуда: Великий Новгород

Сообщение LSA » 25.03.2004 (Чт) 20:49

Да, с приложением в трей это понятно. Есть много примеров и готовых вещей.

Суть в том что я не хочу использовать виндовый Explorer, а грузить в место него собственный. Он уже готов. не хватает мелочи. По этому мне и надо показать состояние трея в своей проге. Тоскливо когда не видиш что происходит в трее.

Создать контрол который будет показывать иконки впринципе можно, но для этого мне необходимо знать какие процессы сидят в трее.
Список запущенных процессов не проблема, проблема отфильтровать.

Если эта задача решаема, значит у меня будет псевдо трей. Пусть не такой функциональный как родной, но все же. Это лучше чем ничего.

_Мика_
Гуру
Гуру
 
Сообщения: 1459
Зарегистрирован: 24.10.2003 (Пт) 15:05
Откуда: г. Москва, м.Речной вокзал

Сообщение _Мика_ » 25.03.2004 (Чт) 22:33

Я наверное плохо понял вопрос :oops:
А ща все понял тебе надо в твонй проге показывать иконки которые сидят в трее :?: Да
-Папа, а правда, что форумы делают людей дибилами?
-гы гы гы, сынок, лол!

Cyrax
Cyberninja
Cyberninja
Аватара пользователя
 
Сообщения: 891
Зарегистрирован: 25.04.2002 (Чт) 21:20
Откуда: Magnitogorsk, Russia

Сообщение Cyrax » 26.03.2004 (Пт) 7:12

_Мика_, ты не прав, относительно того, что нелзя поместить трей в окно своего приложения - очень даже можно. объясняю почему: трей, на самом деле, является обычным окном => имеет идентификатор окна (hWnd), по которому это окно можно найти.
поступаем следующим образом: ищем hWnd трея, используя API-функции FindWindow и FindWindowEx. дальше используем API-функцию SetParent для указания в качестве родительского окна для трея нашей формы...
Ты это ему расскажи. Я уже пять болтов отвинтил, и конца не видно... (озадаченно) А это в какую сторону тянуть? Ну-ка... Ага, этот был лишний, этот вообще не отсюда, и этот... Точно, два болта.

Welcome to IRC

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 26.03.2004 (Пт) 10:10

Помоему он хочет не "приватизировать" системный трей, а эмулировать свой собственный.
А в чем проблема? Создаешь окно с нужным классом, вешаешь на него оконную обработку и ловишь сообщения NotifyIconMessages. Ну и соответствующим образом обслуживаешь, т.е. отображаешь значки, пересылаешь клики окну, сопоставленному со значком и т.п.
Правда я сам так пока не делал, наверняка имеется много подводных камней.
Lasciate ogni speranza, voi ch'entrate.

_Мика_
Гуру
Гуру
 
Сообщения: 1459
Зарегистрирован: 24.10.2003 (Пт) 15:05
Откуда: г. Москва, м.Речной вокзал

Сообщение _Мика_ » 26.03.2004 (Пт) 10:16

Cyrax, я просто сначала не понял вопрос! Я думал что ему надо поместить иконку в трей, а потом понял что наооборот
ИЗВЕНЯЮСЬ :oops: :oops: :oops: :roll:
-Папа, а правда, что форумы делают людей дибилами?
-гы гы гы, сынок, лол!

Cyrax
Cyberninja
Cyberninja
Аватара пользователя
 
Сообщения: 891
Зарегистрирован: 25.04.2002 (Чт) 21:20
Откуда: Magnitogorsk, Russia

Сообщение Cyrax » 26.03.2004 (Пт) 10:43

alibek писал(а):Помоему он хочет не "приватизировать" системный трей, а эмулировать свой собственный. ...

если это так, то попарится ему придется не мало...

хотя, судя по всему, человек просто хочет написать свой собственный shell взамен стандартного Explorer.exe. в этом случае логичнее будет использовать системный трей.
Ты это ему расскажи. Я уже пять болтов отвинтил, и конца не видно... (озадаченно) А это в какую сторону тянуть? Ну-ка... Ага, этот был лишний, этот вообще не отсюда, и этот... Точно, два болта.

Welcome to IRC

LSA
Начинающий
Начинающий
 
Сообщения: 3
Зарегистрирован: 25.03.2004 (Чт) 19:36
Откуда: Великий Новгород

Сообщение LSA » 26.03.2004 (Пт) 11:44

alibek именно приватизировать, тем более что Shell у меня уже работает, вопрос КАК? приватизировать.
Эмуляция - это запасной вариант и не самый простой к сожалению.

На данный момент мысль Cyrax мне нравится больше, посмотрим что из этого получится...
Спасибо


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

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

Сейчас этот форум просматривают: Yandex-бот и гости: 3

    TopList