Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: ---SysTrayIcon--- Добавлено: 26.01.03 12:35  

Автор вопроса:  andry

Как сунуть свою прогу в SysTrayIcon, при етом не отображая Form ?

Ответить

  Ответы Всего ответов: 3  

Номер ответа: 1
Автор ответа:
 Zeus



ICQ: 161801353 

Вопросов: 63
Ответов: 220
 Web-сайт: apirussia.by.ru
 Профиль | | #1
Добавлено: 26.01.03 16:43

Вот:

Declare Function Shell_NotifyIcon Lib "shell32.dll" _

Alias "Shell_NotifyIconA" (ByVal dwMessage As dwMess, _

IpData As NOTIFYICONDATA) As Long

Public Enum dwMess

NIM_ADD = &H0

NIM_DELETE = &H2

NIM_MODIFY = &H1

End Enum

Type NOTIFYICONDATA

cbSize As Long

hwnd As Long

uID As Long

uFlags As uF

uCallbackMessage As CallMess

hIcon As Long

szTip As String * 64

End Type

Public Enum uF

nif_message = &H1

nif_icon = &H2

nif_tip = &H4

End Enum

Public Enum CallMess

WM_MOUSEMOVE = &H200

WM_LBUTTONDOWN = &H201

WM_LBUTTONUP = &H202

WM_LBUTTONDBLCLK = &H203

WM_RBUTTONDOWN = &H204

WM_RBUTTONUP = &H205

WM_RBUTTONDBLCLK = &H206

WM_MBUTTONDOWN = &H207

WM_MBUTTONUP = &H208

WM_MBUTTONDBLCLK = &H209

WM_SETFOCUS = &H7

WM_KEYDOWN = &H100

WM_KEYFIRST = &H100

WM_KEYLAST = &H108

WM_KEYUP = &H101

End Enum

' Открыть библиотеку

Declare Function loadlibrary Lib "kernel32.dll" Alias "LoadLibraryA" (ByVal lpLibFileName As String) As Long

' Взять иконку из библиотеки

Declare Function LoadIconA Lib "user32" (ByVal hinstance As Long, ByVal IpIconName As String) As Long

' выгрузить библиотеку

Declare Function FreeLibrary Lib "kernel32" (ByVal hLibModule As Long) As Long

' возвратить hInstanse. lpModuleName - имя ЕХЕ-файла

Declare Function GetModuleHandle Lib "kernel32" Alias "GetModuleHandleA" (ByVal lpModuleName As String) As Long

Dim NID As NOTIFYICONDATA

Sub Addicon()

Dim IDLib As Long ' указатель на библиотеку после: IDLib = GetModuleHandle("Project1.exe")

Dim IDICON As Long ' указатель на иконку

Const IDMyIcon = 101

Dim AddREsult As Long

IDICON = frmMain.Picture1 ' Какая именно иконка

NID.cbSize = Len(NID)

NID.hwnd = frmMain.hwnd ' Название формы

NID.uID = IDMyIcon

NID.uFlags = nif_message + nif_icon + nif_tip

NID.uCallbackMessage = WM_LBUTTONDOWN

NID.hIcon = IDICON

NID.szTip = Left$("БудZильник ;)", 63) & Chr(0) ' MyIcon - текст всплыввающей подсказки

AddREsult = Shell_NotifyIcon(NIM_ADD, NID)

End Sub

Sub DeleteIcon()

Dim DeleteResult As Long

DeleteResult = Shell_NotifyIcon(NIM_DELETE, NID)

End Sub

 

Ответить

Номер ответа: 2
Автор ответа:
 andry



Вопросов: 4
Ответов: 3
 Профиль | | #2 Добавлено: 27.01.03 22:43

Подскажите еще API на SysTray.

Ответить

Номер ответа: 3
Автор ответа:
 andry



Вопросов: 4
Ответов: 3
 Профиль | | #3 Добавлено: 27.01.03 22:46

Подскажите еще API на SysTray.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам