MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access


2 participantes

    [Resolvido]Minimizar para área de notificação

    andre.lr
    andre.lr
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 222
    Registrado : 17/10/2011

    [Resolvido]Minimizar para área de notificação Empty Minimizar para área de notificação

    Mensagem  andre.lr 13/12/2011, 12:03

    Amigos, há algum código que eu possa colocar em um botão para fazer com que ao clicar nele a janela do access seja minimizada para área de notificação, aquela área que fica a direita da barra de tarefas onde está a hora, data e diversos outros!

    Obrigado pela atenção amigos!

    Sistema Op. Windows XP service pack 3
    Access 2010
    avatar
    Convidad
    Convidado


    [Resolvido]Minimizar para área de notificação Empty Re: [Resolvido]Minimizar para área de notificação

    Mensagem  Convidad 13/12/2011, 12:24

    Olá

    Talvez seja o caminho para o que deseja...

    http://www.linhadecodigo.com.br/Artigo.aspx?id=1718
    andre.lr
    andre.lr
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 222
    Registrado : 17/10/2011

    [Resolvido]Minimizar para área de notificação Empty Re: [Resolvido]Minimizar para área de notificação

    Mensagem  andre.lr 13/12/2011, 12:49

    Obrigado Norbs, isso é um download ou é um artigo em uma página? Se for um download você poderia postar o arquivo zipado aqui no próprio site do fórum... ou se for um artigo poderia colar o texto aqui!?
    Infelizmente diversos sites passaram a ser bloqueados aqui na empresa e o linhadecodigo.com.br é um destes...
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 11016
    Registrado : 04/11/2009

    [Resolvido]Minimizar para área de notificação Empty Re: [Resolvido]Minimizar para área de notificação

    Mensagem  JPaulo 13/12/2011, 13:01

    http://dl.dropbox.com/u/771097/Tray.rar



    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Minimizar para área de notificação Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Minimizar para área de notificação Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Minimizar para área de notificação Folder_announce_new Instruções SQL como utilizar...
    avatar
    Convidad
    Convidado


    [Resolvido]Minimizar para área de notificação Empty Re: [Resolvido]Minimizar para área de notificação

    Mensagem  Convidad 13/12/2011, 13:31

    O meu link é para um artigo de César Augusto Pinheiro no Linha de Código.

    O exemplo do JPaulo mata a charada!
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 11016
    Registrado : 04/11/2009

    [Resolvido]Minimizar para área de notificação Empty Re: [Resolvido]Minimizar para área de notificação

    Mensagem  JPaulo 13/12/2011, 14:04

    Já existia outros na sala de exemplos:

    http://maximoaccess.forumeiros.com/t1312-seu-banco-no-system-tray-systray

    http://maximoaccess.forumeiros.com/t1319-seu-banco-no-system-tray-2



    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Minimizar para área de notificação Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Minimizar para área de notificação Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Minimizar para área de notificação Folder_announce_new Instruções SQL como utilizar...
    andre.lr
    andre.lr
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 222
    Registrado : 17/10/2011

    [Resolvido]Minimizar para área de notificação Empty Re: [Resolvido]Minimizar para área de notificação

    Mensagem  andre.lr 15/12/2011, 19:21

    Então amigos, de todos os exemplos que postaram neste tópico depois de bater muito a cabeça, o que rolou melhor aqui para mim foi o do SysTray2k.rar que o Jpaulo postou nesse link http://maximoaccess.forumeiros.com/t1319-seu-banco-no-system-tray-2 ...Porém, estou com um problema com esse método, o exemplo postado SysTray2k está funcionando perfeitamente, mas, no meu BD funciona quase perfeitamente, porém, ocorre o seguinte problema, ele minimiza a janela do access para a System Tray mas as minhas janelas dos meus formulários não são minimizadas, pois, estão todas com poup-uo "SIM" e janela restrita "SIM", apenas a janela que utilizo de fundo não está com poup up sim e janela restrita sim, por isso ela é o unico formulário que minimiza juntamente com a janela do access, utilizo um código neste formulário de fundo que serve para esconder a janela do access ao carregar o BD através da macro autoexec.. é o seguinte!

    Private Sub Form_Open(Cancel As Integer)
    DoCmd.RunMacro "mcrHide"
    End Sub

    Private Sub Form_Resize()
    Me.Painting = False
    DoCmd.Maximize
    ColocaFormularioTransparente Me, 0.85
    Me.Painting = True
    End Sub


    juntamente com outros 2 módulos em um método que me foi ensinado em outro post!

    Amigos! O que devo fazer para que todo meu BD vá para o System Tray mesmo estando com poup up sim e restrita sim ??

    PS.: os outros métodos não consegui implantar direito aqui só deu rolo! =/

    Obrigado amigos!

    para tentar ajudar um pouco vou deixar os códigos dos módulos do exemplo SysTray2k postados aqui!

    primeiro temos o botão que chama o modulo através do seguinte comando

    Private Sub Comando38_Click()
    Call sHookTrayIcon(Application.hWndAccessApp)
    End Sub


    também tem um código colocado no evento ao fechar do meu formulário onde está o botão acima.
    É o seguinte
    Private Sub Form_Close()
    Call sUnhookTrayIcon(Application.hWndAccessApp)
    End Sub


    E abaixo os 2 módulos que vem no pacote do exemplo =]

    Modulo 1 = modDA_SysTray

    Option Compare Database
    Option Explicit


    ' API: Subclassing form for SysTray functionality

    Private Const conDefaultIconPath = "C:\Documents and Settings\andre.rosanti\Meus documentos\Minhas imagens\LA.ico"

    'Window style flags
    Private Const GWL_STYLE = (-16)
    Private Const WS_MAXIMIZE = &H1000000
    Private Const WS_MINIMIZE = &H20000000

    'LoadImage flags
    Private Const WM_GETICON = &H7F 'message is sent to a window to retrieve a handle
    ' to the large or small icon associated with a window
    Private Const WM_SETICON = &H80 'message to associate a new large or small icon with a window
    Private Const IMAGE_BITMAP = 0 'Loads a bitmap.
    Private Const IMAGE_ICON = 1 'Loads an icon.
    Private Const IMAGE_CURSOR = 2 'Loads a cursor.
    Private Const LR_LOADFROMFILE = &H10 'Loads the image from the file specified by
    ' the lpszName parameter. If this flag is not
    ' specified, lpszName is the name of the resource.
    Private Const ICON_SMALL = 0& 'Retrieve the small icon for the window.
    Private Const ICON_BIG = 1& 'Retrieve the large icon for the window.


    'loads an icon, cursor, or bitmap.
    Private Declare Function apiLoadImage Lib "user32" _
    Alias "LoadImageA" _
    (ByVal hInst As Long, _
    ByVal lpszName As String, _
    ByVal uType As Long, _
    ByVal cxDesired As Long, _
    ByVal cyDesired As Long, _
    ByVal fuLoad As Long) _
    As Long

    'Send a message to a window via its handle
    Private Declare Function apiSendMessageLong Lib "user32" _
    Alias "SendMessageA" _
    (ByVal hwnd As Long, _
    ByVal wMsg As Long, _
    ByVal wParam As Long, _
    ByVal lParam As Long) _
    As Long

    'SHGetFileInfo flags
    Private Const SHGFI_ICON = &H100 'get icon
    Private Const SHGFI_DISPLAYNAME = &H200 'get display name
    Private Const SHGFI_TYPENAME = &H400 'get type name
    Private Const SHGFI_ATTRIBUTES = &H800 'get attributes
    Private Const SHGFI_ICONLOCATION = &H1000 'get icon location
    Private Const SHGFI_EXETYPE = &H2000 'return exe type
    Private Const SHGFI_SYSICONINDEX = &H4000 'get system icon index
    Private Const SHGFI_LINKOVERLAY = &H8000 'put a link overlay on icon
    Private Const SHGFI_SELECTED = &H10000 'show icon in selected state
    Private Const SHGFI_ATTR_SPECIFIED = &H20000 'get only specified attributes
    Private Const SHGFI_LARGEICON = &H0 'get large icon
    Private Const SHGFI_SMALLICON = &H1 'get small icon
    Private Const SHGFI_OPENICON = &H2 'get open icon
    Private Const SHGFI_SHELLICONSIZE = &H4 'get shell size icon
    Private Const SHGFI_PIDL = &H8 'pszPath is a pidl
    Private Const SHGFI_USEFILEATTRIBUTES = &H10 'use passed dwFileAttribute

    Private Const FILE_ATTRIBUTE_NORMAL = &H80
    Private Const MAX_PATH = 260

    Private Type SHFILEINFO
    hIcon As Long 'Handle to the icon that represents the file.
    iIcon As Long 'Index of the icon image within the system image list.
    dwAttributes As Long 'Array of values that indicates the attributes of the file object.
    szDisplayName As String * MAX_PATH 'String that contains the name of the file as it appears in the Windows shell
    szTypeName As String * 80 'String that describes the type of file.
    End Type

    'Retrieves information about an object in the file system,
    'such as a file, a folder, a directory, or a drive root.
    Private Declare Function apiSHGetFileInfo Lib "shell32.dll" _
    Alias "SHGetFileInfoA" _
    (ByVal pszPath As String, _
    ByVal dwFileAttributes As Long, _
    psfi As SHFILEINFO, _
    ByVal cbSizeFileInfo As Long, _
    ByVal uFlags As Long) _
    As Long

    Private Declare Function apiDestroyIcon Lib "user32" _
    Alias "DestroyIcon" _
    (ByVal hIcon As Long) _
    As Long

    'Declared here so we can use DestroyIcon afterwards
    Private psfi As SHFILEINFO

    'ShowWindow flags
    Private Const SW_HIDE = 0
    Private Const SW_SHOWNORMAL = 1
    Private Const SW_SHOWMINIMIZED = 2
    Private Const SW_SHOWMAXIMIZED = 3
    Private Const SW_MINIMIZE = 6
    Private Const SW_RESTORE = 9

    'sets the specified window's show state.
    Private Declare Function apiShowWindow Lib "user32" _
    Alias "ShowWindow" _
    (ByVal hwnd As Long, _
    ByVal nCmdShow As Long) _
    As Long

    'Shell_NotifyIcon Flags
    Private Const NIM_ADD As Long = &H0 'Add an icon to the status area.
    Private Const NIM_MODIFY As Long = &H1 'Modify an icon in the status area.
    Private Const NIM_DELETE As Long = &H2 'Delete an icon from the status area.

    'NOTIFYICONDATA flags
    Private Const NIF_TIP As Long = &H4 'The szTip member is valid.
    Private Const NIF_MESSAGE As Long = &H1 'The uCallbackMessage member is valid.
    Private Const NIF_ICON As Long = &H2 'The hIcon member is valid.

    'Messages
    Private Const WM_MOUSEMOVE = &H200 'posted to a window when the cursor moves.
    Private Const WM_LBUTTONDBLCLK = &H203 'Left Double-click
    Private Const WM_LBUTTONDOWN = &H201 'Left Button down
    Private Const WM_LBUTTONUP = &H202 'Left Button up
    Private Const WM_RBUTTONDBLCLK = &H206 'Right Double-click
    Private Const WM_RBUTTONDOWN = &H204 'Right Button down
    Private Const WM_RBUTTONUP = &H205 'Right Button up

    Private Type NOTIFYICONDATA
    cbSize As Long 'Size of this structure, in bytes.
    hwnd As Long 'Handle to the window that will receive
    ' notification messages associated with an
    ' icon in the taskbar status area
    uID As Long 'Application-defined identifier of the taskbar icon.
    uFlags As Long 'Array of flags that indicate which of
    ' the other members contain valid data.
    uCallbackMessage As Long 'Application-defined message identifier.
    hIcon As Long 'Handle to the icon to be added, modified, or deleted
    szTip As String * 64 'Pointer to a NULL-terminated string
    ' with the text for a standard tooltip.
    End Type

    'Sends a message to the taskbar's status area.
    Private Declare Function apiShellNotifyIcon Lib "shell32.dll" _
    Alias "Shell_NotifyIconA" _
    (ByVal dwMessage As Long, _
    lpData As NOTIFYICONDATA) _
    As Long

    'passes message information to the specified window procedure.
    Private Declare Function apiCallWindowProc Lib "user32" _
    Alias "CallWindowProcA" _
    (ByVal lpPrevWndFunc As Long, _
    ByVal hwnd As Long, _
    ByVal msg As Long, _
    ByVal wParam As Long, _
    ByVal lParam As Long) _
    As Long

    'changes an attribute of the specified window.
    Private Declare Function apiSetWindowLong Lib "user32" _
    Alias "SetWindowLongA" _
    (ByVal hwnd As Long, _
    ByVal nIndex As Long, _
    ByVal wNewWord As Long) _
    As Long

    'Brings a window to the foreground and sets the focus to it.
    Private Declare Function SetForegroundWindow Lib "user32.dll" (ByVal hwnd As Long) As Long

    Private Declare Function GetWindowLong Lib "user32" Alias _
    "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) _
    As Long

    Private nID As NOTIFYICONDATA
    Private lpPrevWndProc As Long
    Private mblnCustomIcon As Boolean
    Private lngWindowState As Long

    Private Const GWL_WNDPROC As Long = (-4) 'Sets a new address for the window procedure.


    Function fWndProcTray(ByVal hwnd As Long, ByVal uMessage As Long, _
    ByVal wParam As Long, ByVal lParam As Long) As Long

    'receives messages indirectly from the operating system
    'but allows us to perform additional functions
    'for some of those messages.

    'Handles events for clicking on the icon in the SysTray - SG

    On Error Resume Next

    Select Case lParam
    Case WM_LBUTTONUP: 'Left Button Up
    'Do something here if you want to recognize this mouse action

    Case WM_LBUTTONDBLCLK: 'Left Button Double click
    ' modified to handle main Access window instead of just form
    ' and do SysTray cleanup at the same time - SG
    sUnhookTrayIcon hwnd 'Remove icon from SysTray
    ToggleTaskbarButton hwnd 'Restore application button on Taskbar
    Call apiShowWindow(hwnd, lngWindowState) 'Restore the window to its previous state
    SetForegroundWindow hwnd 'Bring window to foreground and set focus

    Case WM_LBUTTONDOWN: 'Left Button down
    'Do something here if you want to recognize this mouse action

    Case WM_RBUTTONDBLCLK: 'Right Double-click
    'Do something here if you want to recognize this mouse action

    Case WM_RBUTTONDOWN: 'Right Button down
    'Do something here if you want to recognize this mouse action

    Case WM_RBUTTONUP: 'Right Button Up
    'Do something here if you want to recognize this mouse action
    End Select

    'return the messages back
    fWndProcTray = apiCallWindowProc(ByVal lpPrevWndProc, ByVal hwnd, ByVal uMessage, ByVal wParam, ByVal lParam)
    End Function

    Sub sHookTrayIcon(hwnd As Long, Optional strTipText As String, Optional strIconPath As String)
    'Modified to receive a window handle directly instead of a form. - SG
    Dim lngStyle As Long

    'Initialize the tray icon first
    If fInitTrayIcon(hwnd, strTipText, strIconPath) Then
    lngStyle = GetWindowLong(hwnd, GWL_STYLE) 'Get current window style
    'Remember current window state so we can restore to that state later - SG
    If lngStyle And WS_MAXIMIZE Then
    lngWindowState = SW_SHOWMAXIMIZED
    ElseIf lngStyle And WS_MINIMIZE Then
    lngWindowState = SW_SHOWMINIMIZED
    Else
    lngWindowState = SW_SHOWNORMAL
    End If
    apiShowWindow hwnd, SW_MINIMIZE 'minimize the window - we'll need this elsewhere -SG
    apiShowWindow hwnd, SW_HIDE 'hide the window
    'remove the button from the taskbar for the specified window (main Access window) - SG
    ToggleTaskbarButton hwnd

    'Set new address for window's message handler
    lpPrevWndProc = apiSetWindowLong(hwnd, GWL_WNDPROC, AddressOf fWndProcTray)
    End If
    End Sub

    Sub sUnhookTrayIcon(hwnd As Long)
    'Modified to receive a window handle directly instead of a form. - SG

    'Restore the original message handler
    Call apiSetWindowLong(hwnd, GWL_WNDPROC, lpPrevWndProc)
    'Remove the icon in the SysTray
    Call apiShellNotifyIcon(NIM_DELETE, nID)

    'If a custom icon was used, reset the form's icon
    If mblnCustomIcon Then
    Call fRestoreIcon(hwnd)
    End If
    'Destroy the icon
    Call apiDestroyIcon(psfi.hIcon)
    End Sub

    Private Function fExtractIcon() As Long
    On Error GoTo ErrHandler
    Dim hIcon As Long

    'Modified to extract the application icon from msaccess.exe. The path is
    ' specified above for easier future modification. - SG
    hIcon = apiSHGetFileInfo(conDefaultIconPath, FILE_ATTRIBUTE_NORMAL, psfi, _
    LenB(psfi), SHGFI_USEFILEATTRIBUTES Or SHGFI_SMALLICON Or SHGFI_ICON)
    'Make sure there were no errors
    If Not hIcon = 0 Then fExtractIcon = psfi.hIcon
    ExitHere:
    Exit Function
    ErrHandler:
    fExtractIcon = False
    Resume ExitHere
    End Function

    Private Function fRestoreIcon(hwnd As Long)
    'Load the default form icon and assign it to the window
    Call apiSendMessageLong(hwnd, WM_SETICON, 0&, fExtractIcon())
    End Function

    Private Function fSetIcon(hwnd As Long, strIconPath As String) As Long
    'Modified to receive a window handle directly instead of a form. - SG
    Dim hIcon As Long
    'Load the 16x16 icon from file
    hIcon = apiLoadImage(0&, strIconPath, IMAGE_ICON, 16&, 16&, LR_LOADFROMFILE)
    If hIcon Then
    'First set the form's icon
    Call apiSendMessageLong(hwnd, WM_SETICON, 0&, hIcon&)
    'This will tell us afterwards if we need to reset the form's icon
    mblnCustomIcon = True
    'Now return the hIcon
    fSetIcon = hIcon
    End If
    End Function

    Private Function fInitTrayIcon(hwnd As Long, strTipText As String, strIconPath As String) As Boolean
    'Modified to receive a window handle directly instead of a form. - SG

    Dim hIcon As Long

    'If the user didn't specify the tip text, use a default value
    If strTipText = vbNullString Then strTipText = "MSAccess Form"

    If (strIconPath = vbNullString) Or (Dir(strIconPath) = vbNullString) Then
    'if there's no icon specified, use the form's default icon
    hIcon = fExtractIcon()
    Else
    'load and set the icon
    hIcon = fSetIcon(hwnd, strIconPath)
    End If

    'If we were successful in previous step, then continue
    'to place the icon in the system tray
    If hIcon Then
    With nID
    .cbSize = LenB(nID)
    .hwnd = hwnd
    .uID = vbNull
    .uFlags = NIF_ICON Or NIF_TIP Or NIF_MESSAGE
    .uCallbackMessage = WM_MOUSEMOVE
    .hIcon = hIcon
    .szTip = strTipText & vbNullChar
    End With
    Call apiShellNotifyIcon(NIM_ADD, nID)
    fInitTrayIcon = True
    End If
    End Function
    '************** Code End *************


    Modulo 2: modTaskbar


    Option Compare Database
    Option Explicit

    'Code modifed where indicated with comments and my initials.

    Private Const WS_EX_APPWINDOW = &H40000
    Public Const SW_HIDE = 0
    Public Const SW_SHOW = 5
    Private Const GWL_EXSTYLE = (-20)

    Private Declare Function ShowWindow Lib "user32" _
    (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long

    Private Declare Function SetWindowLong Lib "user32" _
    Alias "SetWindowLongA" (ByVal hwnd As Long, _
    ByVal nIndex As Long, ByVal dwNewLong As Long) As Long

    Private Declare Function GetWindowLong Lib "user32" Alias _
    "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) _
    As Long

    Private Declare Function IsIconic Lib "user32.dll" (ByVal hwnd As Long) As Long

    Public Sub ToggleTaskbarButton(hwnd As Long)
    Dim lCurrent As Long
    Dim lAppWin As Long
    Dim lngMin As Long

    lCurrent = GetWindowLong(hwnd, GWL_EXSTYLE) 'Get current style flags
    lngMin = IsIconic(hwnd) 'Get minimized state (true or false)

    If lCurrent And WS_EX_APPWINDOW Then 'If this is an application window
    lAppWin = lCurrent And (Not WS_EX_APPWINDOW) 'Remove the flag
    Else
    lAppWin = lCurrent Or WS_EX_APPWINDOW 'Add the flag
    End If

    'If the application is running, we need to hide it to change its style settings
    ' and then make it visible again. We can't test whether or not a window is
    ' hidden, but we can test if it is minimized. For the purposes of this task,
    ' if the application is minimized, then it will also be already hidden so we
    ' don't need to hide it again, and we certainly don't want it to show again. - SG

    If lngMin = 0 Then ShowWindow hwnd, SW_HIDE 'Hide the window if necessary
    SetWindowLong hwnd, GWL_EXSTYLE, lAppWin 'Set the style flags
    If lngMin = 0 Then ShowWindow hwnd, SW_SHOW 'Show the window again if necessary

    End Sub


    Windows XP servie pack 3
    Access 2010
    andre.lr
    andre.lr
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 222
    Registrado : 17/10/2011

    [Resolvido]Minimizar para área de notificação Empty Re: [Resolvido]Minimizar para área de notificação

    Mensagem  andre.lr 16/12/2011, 10:41

    Aee, consegui resolver sozinho amigos =D

    A Solução que encontrei foi simples para váriar. Foi seguinte!

    Coloquei um comando para fechar o formulário poup up e restrito sim no botão que chama o código para minimizar para o System Tray.... bem depois que ele chama o código reparem abaixo!

    Private Sub Comando38_Click()
    Call sHookTrayIcon(Application.hWndAccessApp)

    DoCmd.Close acForm, "SISTEMA COMPLETO"
    End Sub


    Depois disso coloquei outro código no módulo modDA_SysTray... dessa vez para abrir o formulário em questão bem depois que o código destroy o icone no system tray!

    Reparem abaixo a linha onde posicionei o segundo código!

    Sub sUnhookTrayIcon(hwnd As Long)
    'Modified to receive a window handle directly instead of a form. - SG
    'Restore the original message handler

    Call apiSetWindowLong(hwnd, GWL_WNDPROC, lpPrevWndProc)
    'Remove the icon in the SysTray
    Call apiShellNotifyIcon(NIM_DELETE, nID)
    'If a custom icon was used, reset the form's icon
    If mblnCustomIcon Then
    Call fRestoreIcon(hwnd)
    End If

    'Destroy the icon
    Call apiDestroyIcon(psfi.hIcon)
    DoCmd.OpenForm "SISTEMA COMPLETO"

    End Sub

    AGORA ESTÁ SHOW DE BOLA!

    Obrigado amigos! espero que outras pessoas possam utilizar tudo isso!

    Mais um caso Resolvido!

    Conteúdo patrocinado


    [Resolvido]Minimizar para área de notificação Empty Re: [Resolvido]Minimizar para área de notificação

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 20/5/2024, 21:09