Título: Barra de tareas
Publicado por: Thaorius en 16 Julio 2005, 20:11 pm
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.
Título: Re: Barra de tareas
Publicado por: {_The_Alwar_} en 16 Julio 2005, 20:38 pm
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?
Título: Re: Barra de tareas
Publicado por: Thaorius en 16 Julio 2005, 20:47 pm
Gracias, ahora lo pruebo.
Saludos
Título: Re: Barra de tareas
Publicado por: Thaorius en 16 Julio 2005, 20:52 pm
Te adoro. Justamente lo que buscaba y como lo buscaba.
Saludos y muchas gracias.
Título: Re: Barra de tareas
Publicado por: {_The_Alwar_} en 17 Julio 2005, 01:16 am
De nada tio! Pa eso estamos
|