Barra de tareas

Iniciado por Thaorius, 16 Julio 2005, 20:11 PM

0 Miembros y 1 Visitante están viendo este tema.

Thaorius

Hola gente!.

Bueno, les cuento que estoy haciendo un hardware pra automatizar mi casa con pics y su respectivo software. Este software tiene que tener opciones de resident shield(se como) y de mostrar un icono en la barra de tareas y a l hacerle doble click, que se abre. Y que al apretarle el boton derecho, muestre un menu contextual.

Tienen idea de como se hace?

Saludos y gracias.
Si te sirvio mi aporte, encontrarás más en www.teoxstudios.com. Gracias!
Buscando un buen hosting? Click aquí

{_The_Alwar_}

Claro que se como se hace xaval!!

Pon esto en un modulo
Public nid As NOTIFYICONDATA
Public Declare Function Shell_NotifyIcon Lib "shell32" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, pnid As NOTIFYICONDATA) As Boolean
Public Const WM_CHAR = &H102
Public Const WM_SETTEXT = &HC
Public Const WM_USER = &H400
Public Const WM_KEYDOWN = &H100
Public Const WM_KEYUP = &H101
Public Const WM_LBUTTONDOWN = &H201
Public Const WM_CLOSE = &H10
Public Const WM_COMMAND = &H111
Public Const WM_CLEAR = &H303
Public Const WM_DESTROY = &H2
Public Const WM_GETTEXT = &HD
Public Const WM_GETTEXTLENGTH = &HE
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 NIF_MESSAGE = &H1
Public Const NIF_ICON = &H2
Public Const NIF_TIP = &H4
Public Const WM_MOUSEMOVE = &H200
Public Declare Function SetForegroundWindow Lib "user32" (ByVal hwnd As Long) As Long

Sub InitializeTrayIcon()
With nid
.cbSize = Len(nid)
.hwnd = frmMain.hwnd 'nombre del form que estara minimizado
.uId = vbNull
.uFlags = NIF_ICON Or NIF_TIP Or NIF_MESSAGE
.uCallBackMessage = WM_MOUSEMOVE
.hIcon = frmMain.Icon 'nombre del formulario que contiene el icono
End With
Shell_NotifyIcon NIM_ADD, nid
End Sub


Y en el formulario que as puesto antes (frmMain)
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim Result As Long
Dim msg As Long
If Me.ScaleMode = vbPixels Then
msg = X
Else
msg = X / Screen.TwipsPerPixelX
End If
Select Case msg
Case 517
Me.PopupMenu MNU 'menu que quieres que se habra
Case 514
Result = SetForegroundWindow(Me.hwnd)
Me.Show
End Select
End Sub


y asi se hace un systray Icon, osea el icono al lado del reloj que es lo que tu quieres nop?

Thaorius

Gracias, ahora lo pruebo.

Saludos
Si te sirvio mi aporte, encontrarás más en www.teoxstudios.com. Gracias!
Buscando un buen hosting? Click aquí

Thaorius

Te adoro.
Justamente lo que buscaba y como lo buscaba.

Saludos y muchas gracias.
Si te sirvio mi aporte, encontrarás más en www.teoxstudios.com. Gracias!
Buscando un buen hosting? Click aquí

{_The_Alwar_}

De nada tio! Pa eso estamos