Avatar billede Slettet bruger
23. juni 1999 - 00:24 Der er 3 kommentarer og
1 løsning

Gem program fra system tray (ved klokken)

Hej.

Kan man gemmen et program fra system tray''en, så det ikke kan se? Hvis ja - kan man så få det frem igen?

Jeg har tænkt mig en form med 2 knapper, en som gemmer et bestemt program - og den anden for at få det frem igen.

Links eller source kode modtages med kys :-)

/SweetGirl
Avatar billede c_wellendorf Nybegynder
23. juni 1999 - 07:41 #1
I windows 98 findes der et program der hedder systray.exe. Det ligger gemt på win98 CDen i ressource kit, med det kan man tilføje og fjerne programmer fra systray. Om man kan fjerne dem der ligger der i forvejen ved jeg ikke.
Avatar billede Slettet bruger
23. juni 1999 - 08:21 #2
Her er lidt kode

'********************************************************************
'*                                                                  *
'*  ICON TRAY EXAMPLE FOR VISUAL BASIC 5.0 (4.0 compatible source)  *
'*                                                                  *
'*            For McGraw-Hill Visual Basic FAT FAQs                *
'*                                                                  *
'*              Copyright (c) Jan S. Haugland 1997                  *
'*                                                                  *
'********************************************************************

Option Explicit

Private Sub Form_Load()
  Dim nd As NOTIFYICONDATA
  Dim lRet As Long
  With nd
    .cbSize = Len(nd)
    .hwnd = picHook.hwnd
    .uID = 1&
    .szTip = "This is my first TrayIcon" & Chr(0)
    .uCallbackMessage = WM_MOUSEMOVE
    .hIcon = Me.Icon
    .uFlags = NIF_MESSAGE Or NIF_ICON Or NIF_TIP
  End With
  lRet = Shell_NotifyIconA(NIM_ADD, nd)
  'Error check here
  'lRet = PostMessage(mnuPophwnd, WM_NULL, 0&, 0&) 'hrmf
End Sub

Private Sub Form_Unload(Cancel As Integer)
  Dim nd As NOTIFYICONDATA
  Dim iRet As Integer
  With nd
    .cbSize = Len(nd)
    .hwnd = picHook.hwnd
    .uID = 1&
  End With
  iRet = Shell_NotifyIconA(NIM_DELETE, nd)
End Sub

Private Sub mnuQuit_Click(Index As Integer)
  Unload Me
End Sub

Private Sub picHook_MouseMove(Button As Integer, Shift As Integer, _
    X As Single, Y As Single)
  Static bRunning As Boolean
  Dim lMsg As Long
  lMsg = X / Screen.TwipsPerPixelX
  If Not (bRunning) Then 'avoid cascades
    bRunning = True
    Select Case lMsg
      Case WM_LBUTTONDBLCLK:
        MsgBox "You double-clicked"
      Case WM_LBUTTONDOWN:
      Case WM_LBUTTONUP:
      Case WM_RBUTTONDBLCLK:
      Case WM_RBUTTONDOWN:
      Case WM_RBUTTONUP:
        Me.PopupMenu mnuPop
        End Select
        bRunning = False
    End If
End Sub

**********
*Følgende er et modul
**********

Option Explicit

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 = 0
Public Const NIM_MODIFY = 1
Public Const NIM_DELETE = 2
Public Const NIF_MESSAGE = 1
Public Const NIF_ICON = 2
Public Const NIF_TIP = 4

Public Const WM_LBUTTONDBLCLK = &H203
Public Const WM_LBUTTONDOWN = &H201
Public Const WM_LBUTTONUP = &H202
Public Const WM_RBUTTONDBLCLK = &H206
Public Const WM_RBUTTONDOWN = &H204
Public Const WM_RBUTTONUP = &H205
Public Const WM_MOUSEMOVE = &H200
Public Const WM_NULL = &H0

Declare Function Shell_NotifyIconA Lib "shell32" _
(ByVal dwMessage As Long, lpData As NOTIFYICONDATA) As Integer

Declare Function PostMessage Lib "user32" _
Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, _
ByVal wParam As Long, ByVal lParam As Long) As Long


Avatar billede brixlyng Nybegynder
24. juni 1999 - 08:59 #3
Avatar billede Slettet bruger
24. april 2000 - 12:51 #4
Dette gamle spørgsmål var der hvis ingen der kunne hjælpe med :(

Det jeg ønskede var at "slette/skjule" ikonerne nede fra systray, og med et tryk på en knap få dem frem igen.

/SweetGirl
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester