1. Om jag vill att mitt program ska ligga dolt och köras i bakgrunden samt att iconen ska ligga i aktivitetsfältet (bredvid klockan) och kunna anropas från denna, hur gör jag detta? Något kod exempel? På fråga 1 svarar jag : Shell_NotifyIcon.. VB program i aktivitetsfältet
2. Om jag vill köra programmet dolt (scilent mode) men den ska inte ligga på startraden som minimerad hur gör jag detta i VB eller registry.
/UlfSv: VB program i aktivitetsfältet
I en modul:
<code>
Public 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
Public Const NIM_ADD = &H0
Public Const NIM_MODIFY = &H1
Public Const NIM_DELETE = &H2
Public Const WM_MOUSEMOVE = &H200
Public Const NIF_MESSAGE = &H1
Public Const NIF_ICON = &H2
Public Const NIF_TIP = &H4
'Vänsterklick-konstanter.
Public Const WM_LBUTTONDBLCLK = &H203
Public Const WM_LBUTTONDOWN = &H201
Public Const WM_LBUTTONUP = &H202
'Högerklick-konstanter.
Public Const WM_RBUTTONDBLCLK = &H206
Public Const WM_RBUTTONDOWN = &H204
Public Const WM_RBUTTONUP = &H205
Public Declare Function Shell_NotifyIcon Lib "shell32" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, pnid As NOTIFYICONDATA) As Boolean
</code>
Gör sen ett vanligt formulär, lägg ev. till en meny ifall du vill ha en meny när du klickar.
I general på formen:
<code>
Private nid As NOTIFYICONDATA
</code>
form_load:
<code>
nid.cbSize = Len(nid)
nid.hwnd = ditt_formulär.hwnd
nid.uId = vbNull
nid.uFlags = NIF_ICON Or NIF_TIP Or NIF_MESSAGE
nid.uCallBackMessage = WM_MOUSEMOVE
nid.hIcon = ditt_formulär.Icon
nid.szTip = "Tooltip-text" & vbNullChar
Shell_NotifyIcon NIM_ADD, nid
</code>
I form_mouse_move
<code>
Dim msg As Long
Dim sFilter As String
msg = X / Screen.TwipsPerPixelX
Select Case msg
Case WM_LBUTTONDOWN
'Skriv koden som skall köras om du trycker ner vänster musknapp... (osv på nedanstående)
Case WM_LBUTTONUP
Case WM_LBUTTONDBLCLK
Case WM_RBUTTONDOWN
Case WM_RBUTTONUP
Case WM_RBUTTONDBLCLK
End Select
</code>
I query_unload
<code>
Shell_NotifyIcon NIM_DELETE, nid
</code>