RE:Minimizar aplicacion en barra inferior-dcha del
Publicado por
rufio (1 intervención) el 03/11/2004 19:06:02
no se si funcione en equis-p pero con win2000 funciona
`DEBES CREAR UN MENU CON NOMBRE mnuPopMenu Y LOS SUB \'MENUS SON A TU CUENTA, LEE TB Q HAY UN BOTON (COMMAND1)
\'ESTE ES EL CODIGO
Private 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
Private Const NIM_ADD = &H0
Private Const NIM_MODIFY = &H1
Private Const NIM_DELETE = &H2
Private Const NIF_MESSAGE = &H1
Private Const NIF_ICON = &H2
Private Const NIF_TIP = &H4
Private Const WM_MOUSEMOVE = &H200
Private Const WM_LBUTTONDOWN = &H201
Private Const WM_LBUTTONUP = &H202
Private Const WM_LBUTTONDBLCLK = &H203
Private Const WM_RBUTTONDOWN = &H204
Private Const WM_RBUTTONUP = &H205
Private Const WM_RBUTTONDBLCLK = &H206
Private Declare Function SetForegroundWindow Lib \"user32\" (ByVal hwnd As Long) As Long
Private Declare Function Shell_NotifyIcon Lib \"shell32\" Alias \"Shell_NotifyIconA\" (ByVal dwMessage As Long, pnid As NOTIFYICONDATA) As Boolean
Private nid As NOTIFYICONDATA
Sub Initialise(mee As Form)
With nid
.cbSize = Len(nid)
.hwnd = mee.hwnd
.uId = vbNull
.uFlags = NIF_ICON Or NIF_TIP Or NIF_MESSAGE
.uCallBackMessage = WM_MOUSEMOVE
.hIcon = mee.Icon
End With
Shell_NotifyIcon NIM_ADD, nid
mee.Hide
App.TaskVisible = False
End Sub
Sub CloseApp()
Shell_NotifyIcon NIM_DELETE, nid
End Sub
Sub Down(mee As Form)
If Me.WindowState = vbMinimized Then Me.Hide
End Sub
Private Sub Command1_Click()
With nid
.cbSize = Len(nid)
.hwnd = Me.hwnd
.uId = vbNull
.uFlags = NIF_ICON Or NIF_TIP Or NIF_MESSAGE
.uCallBackMessage = WM_MOUSEMOVE
.hIcon = Me.Icon
End With
Shell_NotifyIcon NIM_ADD, nid
Me.Hide
App.TaskVisible = False
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim Msg As Long
Msg = X / Screen.TwipsPerPixelX
Select Case Msg
Case WM_LBUTTONDBLCLK:
Case WM_LBUTTONDOWN:
Case WM_LBUTTONUP:
Me.PopupMenu Me.mnuPopMenu
Case WM_RBUTTONDBLCLK:
Case WM_RBUTTONDOWN:
Case WM_RBUTTONUP:
Me.PopupMenu Me.mnuPopMenu
End Select
End Sub
Private Sub Command1_Click()
With nid
.cbSize = Len(nid)
.hwnd = Me.hwnd
.uId = vbNull
.uFlags = NIF_ICON Or NIF_TIP Or NIF_MESSAGE
.uCallBackMessage = WM_MOUSEMOVE
.hIcon = Me.Icon
End With
Shell_NotifyIcon NIM_ADD, nid
Me.Hide
App.TaskVisible = False
End Sub