Программирование
Веб программирование

Трей в vb

 
 

TrayBar находиться около часиков, с другой стороны от Пуска(короче как говорят БоТанЫ на ПАНЕЛИ ИНДЕКАЦИИ), вот оно: . Ну что впечатляет? Естественно!!! И теперь наша миссия добавить туда свою ИКОНКУ. Ведь дохрена программ, которые туда так и наровятся закинуть свою иконку, и теперь наша очередь! Открой VB, на форму кинь 3 кнопки(У Первой Caption="Добавить", у 2 - ой = "Изменить", у 3 - ей = "Удалить"), и создай МоДулЬ. Теперь впиши в нем(В МоДулЕ) код:

Public Declare Function Shell_NotifyIcon Lib "shell32" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, pnid As NOTIFYICONDATA) As Boolean 'Константы для добавления, удаления и модификации вашей икноки:
Public Const NIM_ADD = 0
Public Const NIM_MODIFY = 1
Public Const NIM_DELETE = 2
'Константы ответственные за события происходящие внутри границ иконки, расположенной в Traybar:
Public Const WM_MOUSEMOVE = &H200
Public Const NIF_MESSAGE = 1
Public Const NIF_ICON = 2
Public Const NIF_TIP = 4
'Константы ответственные за события поведения мышки происходящие внутри границ иконки, ' расположенной в Traybar:
':
Public Const WM_LBUTTONDOWN = &H201
Public Const WM_LBUTTONUP = &H202
Public Const WM_LBUTTONDBLCLK = &H203
'Для правой клавиши мышки:
Public Const WM_RBUTTONDOWN = &H204
Public Const WM_RBUTTONUP = &H205
Public Const WM_RBUTTONDBLCLK = &H206
'Для средней клавиши мышки:
Public Const WM_MBUTTONDOWN = &H207
Public Const WM_MBUTTONUP = &H208
Public Const WM_MBUTTONDBLCLK = &H209
'Объявляем переменную определяемую пользователем:
Type NOTIFYICONDATA
cbSize As Long
hWnd As Long
uID As Long
uFlags As Long
uCallbackMessage As Long
hIcon As Long
szTip As String * 64
End Type

Теперь переключись на форму, и в ней(ФОРМЕ) впиши код:

'На форме в разделе General объявляем переменную определенную как тип пользователя:
Dim nid As NOTIFYICONDATA

Private Sub Command1_Click()
' Добавить иконку формы в Traybar
nid.cbSize = Len(nid)
nid.hWnd = Form1.hWnd
nid.uID = vbNull
nid.uFlags = NIF_ICON Or NIF_TIP Or NIF_MESSAGE
nid.uCallbackMessage = WM_MOUSEMOVE
nid.hIcon = Form1.Icon
'При наведении курсора на Иконку, выдвинется текст: "И не забудь зайти на http://vbbook.ru/":
nid.szTip = "И не забудь зайти на http://vbbook.ru/" & vbNullChar
Shell_NotifyIcon NIM_ADD, nid
End Sub

Private Sub Command2_Click()
nid.hIcon = Form1.Icon
nid.szTip = "New Icon" & vbNullChar
Shell_NotifyIcon NIM_MODIFY, nid
End Sub

Private Sub Command3_Click()
Shell_NotifyIcon NIM_DELETE, nid
End Sub

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
'Объявляем переменные:

Dim msg As Long
Dim sFilter As String

msg = X / Screen.TwipsPerPixelX
Select Case msg
Case WM_LBUTTONDOWN
'Сюда ты можешь вставить код, который захочешь:
MsgBox "Нажата левая кнопка мыши(Нажата)"

Case WM_LBUTTONUP
'Сюда ты можешь вставить код, который захочешь:
MsgBox "Нажата левая кнопка мыши(Отжата)"
Case WM_LBUTTONDBLCLK
'Сюда ты можешь вставить код, который захочешь:
MsgBox "Ты кликнул 2 раза по ИКОНКЕ(Левой кнопкой)"
Case WM_RBUTTONDOWN
'Сюда ты можешь вставить код, который захочешь:
'Обычно это PopupMenu:
MsgBox "Нажата правая кнопка мыши(Нажата)"
Case WM_RBUTTONUP
'Сюда ты можешь вставить код, который захочешь:
MsgBox "Нажата левая кнопка мыши(Отжата)"
Case WM_RBUTTONDBLCLK
'Сюда ты можешь вставить код, который захочешь:
MsgBox "Ты кликнул 2 раза по ИКОНКЕ(Правой кнопкой)"
End Select
End Sub

Теперь добавь еще одну форму, и поменяй у нее иконку(свойство Icon), запусти программу, и нажми на кнопку Изменить, иконка должна измениться.
Здесь Исходник


Есть вопросы? Спроси на нашем форуме!!
Карим [07.11.2011 01:14]

Askassir , чем ты думал когда комментировал ? ))

Padre [07.11.2011 19:39]

Да это спамер ))
Если разрешить оставлять комментарии с ссылками на другие сайты, в день может быть от 100 до 1000 таких комментариев ))

Максим [08.11.2011 16:35]

А спамеров надо на кол сажать!!

Padre [08.11.2011 18:06]

Это точно ))
Надоели уже ))
Новые методы придумывают, и приходиться вводить постоянно какие-то ограничения ((

zesepewly [19.11.2011 14:45]

Кучу перепробовала ни одна не работает
Народ посоветуйте хорошую диету так чтоб особо не напрягаться но и чтоб интересно было?

Максим [27.11.2011 12:32]

скоко спамеров здесь

Padre [27.11.2011 12:37]

Ага, нада еще что-нибудь придумать, чтобы избавиться от них

алексей [27.11.2011 12:41]

падре ты ихнии коменты удалил ?! :)

алексей [27.11.2011 12:43]

падре , может ты для не зарегистрированных пользователей сделай капчу.

алексей [27.11.2011 12:44]

только не для зарегистрированных!!

dudkinvova [03.12.2011 14:05]

люблю

dudkinvova [03.12.2011 14:05]

люблю

dudkinvova [03.12.2011 14:05]

люблю

алексей [12.12.2011 01:50]

задолбали спамеры.
и почему то почти все спамы в уроке 120-трей?!

JrattSpatt [15.12.2011 19:58]

Народ, кто где встречает новый год?

Есть вариант встретить в Питере, но скорее всего все ломанутся в Москву, на манежку. Эхх, темнота!
В Питере вас ждут незабываемые ощущения, да и после встречи НГ все дальнобойщики добрые - довезут домой бесплатно )))

У кого какие варианты встречи нового года, пишите в теме...

Гость [16.12.2011 14:45]

Уроды, достали, долбаные спамеры

Гриша [17.06.2012 22:25]

Ублюдок прекрати спам слать Сученок

Алексей(alex13sh) [18.06.2012 00:45]

я все спамы удаляю.

Максим [18.06.2012 15:43]

Так а вы сучата, перестаньте писать всякие вирусы или программы под вирусы. Имейте в виду что специалисты отдела (К) по борьбе с кибер преступлениями, наблюдают за вами и если еще кто нибуть из вас напишет что то подобное, то у него будут большие неприятности. Это я вам ГАРАНТИРУЮ.

Release [18.06.2012 18:58]

ахаха первый раз слышу такую чушь :)

FireDay [18.06.2012 21:01]

На самом деле Максим затронул хорошую тему. Я тоже против того, что бы на сайте были примеры, которые позволяют создавать вредоносные программы. Тем более, что в этих примерах сказано об этих целях.
Даже те, кто не разбираются в программировании за короткие сроки имея такую информацию могут создавать зловредный софт.

Максим [18.06.2012 21:37]

FireDay , ты как всегда прав.
А ты под ником Release , как ты сказал что первый раз слышиш такую чуш об управлении К. То попробуй напиши что то на подобие вируса и ты узнаеш все более подробно об том как и что за это бывает. О тех кто пишет и выкладывает на саите вирусы. И не думай что тебя не возможно вычислить, не таких вычисляли. Вспомни что было на Манежке, когда были протесты. И где сенйчас эти люди находяться. Так что я тебе советую, прежде чем что то высказывать на сайте ПОДУМАЙ ХОРОШЕ.

Release [18.06.2012 22:12]
  1. Я не пишу вирусы,т.к меня это не интересует.
  2. На этом сайте я не разу не видел вирусов.
  3. Думать надо тебе,т.к ты несешь чушь, которая по сути не кому не нужна! Если есть что сказать лучше звони в скайп bynker6, пиши в аську 602423419, пиши на почту ds-release@mail.ru!
    И не нужно засорять сайт.
Release [18.06.2012 22:15]

FireDay. Для этих примеров есть много сайтов,блогов об троянах. Вот туда и заливайте свои примеры. Тут не место им! Думаю с появлением таких примеров, повыситься тупых и бестолковых комментариев.

Release [18.06.2012 22:17]

По поводу спама. Я думаю, когда падре приедет с отдыха мы все скажем, что нужно сделать капчу.

Максим [18.06.2012 22:27]

Я, тебя предупредил.

Release [18.06.2012 23:09]

В чем?!

Release [19.06.2012 00:15]

Так я и говорил - "Я против того, что бы на сайте были примеры, которые позволяют создавать вредоносные программы."
Максим, отдел К ловит далеко не всех, и, тем более, нету смысла ловить людей которые пишут такую фигню. Да и вирусы тут никто не пишет.

FireDay [19.06.2012 00:16]

Пост выше мой.
Извиняюсь, подписался как Release. Хотел лишь ответить тебе.

Гость [19.06.2012 00:17]

Кстати, надо что-то с этим делать.
То есть - что бы комментить можно было только из под форумного логина.

Алексей(alex13sh) [19.06.2012 01:20]

А из-за че то шумиха?
Release, я говорил падре насчёт капчи)

LosKat [19.06.2012 08:46]

Хо хо хо Relase испугался , правильно Максим сказал, что таких как ты вирусописателей надо ловить и предавать анафеме, и вообще изгонять из сайтов.

Release [19.06.2012 08:58]

LosKat умом тронулся? Покажи мне хоть один троян написанный мною и потом уже свой рот открывай

LosKat [19.06.2012 09:27]

Может ты и есть спамер. Да и еще под чужим ником сука логниться. Тебя выгнать надо с сайта. Спапер поганый.

Release [19.06.2012 09:31]

Я понимаю, что ты еще маленький. Запомни это ник мой. Ума нету сиди молчи. Тебе человек написал :

Release [19.06.2012 00:15]
Так я и говорил - "Я против того, что бы на сайте были примеры, которые позволяют создавать вредоносные программы."
Максим, отдел К ловит далеко не всех, и, тем более, нету смысла ловить людей которые пишут такую фигню. Да и вирусы тут никто не пишет.

FireDay [19.06.2012 00:16]
Пост выше мой.
Извиняюсь, подписался как Release. Хотел лишь ответить тебе.

Глаза разунь олух

LosKat [19.06.2012 09:36]

Зачем подписываться чужими никами, что ты боишся. Правильно Максим вас всех вздрючил.

Release [19.06.2012 09:38]

Я не чьими никами не подписывался!

Вот этот пост написал человек мне.

Release [19.06.2012 00:15]
Так я и говорил - "Я против того, что бы на сайте были примеры, которые позволяют создавать вредоносные программы."
Максим, отдел К ловит далеко не всех, и, тем более, нету смысла ловить людей которые пишут такую фигню. Да и вирусы тут никто не пишет.

FireDay [19.06.2012 00:16]
Пост выше мой.
Извиняюсь, подписался как Release. Хотел лишь ответить тебе.

LosKat [19.06.2012 09:46]

А это что FireDay [19.06.2012 00:16]
Извиняюсь, подписался как Release. Хотел лишь ответить тебе.
Это ты маленький. И чужими никами не надо подписываться тогда и извиняться не надо. Дурачек.

Release [19.06.2012 11:14]

Тебе сколько лет?!
FireDay написал за место меня.
Если ты такой отважный нука давай в конфу bynker6 перетерем

Юра (Shade) [19.06.2012 18:37]

Вот почитайте:

Статья 273. Создание, использование и распространение вредоносных программ для ЭВМ

1. Создание программ для ЭВМ или внесение изменений в существующие программы, заведомо приводящих к несанкционированному уничтожению, блокированию, модификации либо копированию информации, нарушению работы ЭВМ, системы ЭВМ или их сети, а равно использование либо распространение таких программ или машинных носителей с такими программами -
наказываются лишением свободы на срок до трех лет со штрафом в размере до двухсот тысяч рублей или в размере заработной платы или иного дохода осужденного за период до восемнадцати месяцев.
2. Те же деяния, повлекшие по неосторожности тяжкие последствия, -
наказываются лишением свободы на срок до семи лет.

Адвокатская практика по указанной статье (ст. 273)

FireDay [19.06.2012 19:21]

Release, не обращай на таких внимания, с ними бесполезно спорить.
А на счет капчи и отправки сообщений из под логина надо написать Падре.

JiTert [19.06.2012 19:23]

Юрок, Ты что сайтом ошибся? здесь тебе не сайт по уголовному праву. Здесь сайт для людей кто занимается программированием. А эту статью ты запомни и повторяй каждые 10 минут. Может поумнееш. Идиот.

JiTert [19.06.2012 19:25]

А во вторых ты статьей ошибся. Учиться надо было а не в контру рубиться.

Юра (Shade) [19.06.2012 19:40]

Слушай, умник, я догадываюсь кто ты, а под реальным ником в падлу было написать.
Во-первых я эту статью так для чтения добавил, а не для того чтобы наехать на кого-то.
Да я могу и не сидеть здесь, этим ты меня не напугал.

Юра (Shade) [19.06.2012 19:42]

Да забыл, скрываются только подлецы под чужими никами, а в лицо сказать слабо под своим ником.

FireDay [19.06.2012 19:51]

Shade, да не обращайте вы внимание на их детский АГР. Это тролли, только этого и ждут.

Release [19.06.2012 22:10]

Поскорей бы он вернулся

EverybodyLies [11.12.2012 00:06]

Что-то явно пора чистить тонны идиотских/оскорбительных комментариев на сайте вместе с базой форума + менять регистрацию.

Kулхацкер [11.12.2012 15:09]

Прочитал комментарии вверху... идиотизм, идиотизм ужасный :(

mrJester [11.03.2013 01:06]

людишки , как вывести сообщения из треея (уведомление)

M161350 [02.07.2013 22:04]

Рееееебяяяятаааа!!! Коментарии вообще не по теме пишите! Всё иза спама. Я хочю спросить: почему когда ставлю nid.cbSize = Len(nid)
nid.hWnd = Form1.hWnd
nid.uID = vbNull
nid.uFlags = NIFICON Or NIFTIP Or NIFMESSAGE
nid.uCallbackMessage = WM
MOUSEMOVE
nid.hIcon = Form1.Icon

он выводит 424 ошибку Run-time error - Необходим обьект.

M161350 [03.07.2013 09:11]

Оу, экскьюзми плиз! Всё работает. Большое спасибо автору.

werylazy20 [21.01.2014 01:23]

гы



Оставлять комментарии можно только зарегистрированным




Предупреждение: Вся информация представлена исключительно в образовательных целях.
Ни авторы, ни администрация не несут ответственности в случае ее использования в противозаконных целях.