vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
vb@rchiv Offline-Reader - exklusiv auf der vb@rchiv CD Vol.4  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Visual-Basic Einsteiger
Re: Programm soll im Hintergrund laufen 
Autor: Davey1234(5)
Datum: 02.02.04 20:42

Wenn du ein eigenes System-Try Icon anzeigen lassen willst, füge einmal diesen Code in ein Modul ein:

Declare Function Shell_NotifyIcon Lib "shell32" Alias "Shell_NotifyIconA" ( _
  ByVal dwMessage As Long, pnid As NOTIFYICONDATA) As Boolean
 
Public Const WM_LBUTTONDBLCLK = &H203
Public Const WM_RBUTTONUP = &H205
Public Const NIM_ADD = &H0
Public Const NIM_MODIFY = &H1
Public Const NIF_MESSAGE = &H1
Public Const NIM_DELETE = &H2
Public Const NIF_ICON = &H2
Public Const NIF_TIP = &H4
Public Const WM_MOUSEMOVE = &H200
 
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 TrayIcon As NOTIFYICONDATA
 
Public Function initTray(frmForm As Object, pctImage As IPictureDisp, _
  strTooltip As String)
    TrayIcon.cbSize = Len(TrayIcon)
    TrayIcon.hWnd = frmForm.hWnd
    TrayIcon.uId = vbNull
    TrayIcon.uFlags = NIF_ICON Or NIF_TIP Or NIF_MESSAGE
    TrayIcon.ucallbackMessage = WM_MOUSEMOVE
    TrayIcon.hIcon = pctImage
    TrayIcon.szTip = strTooltip & Chr$(0)
 
    'NIM_ADD is a Constant - add icon to tray
    Call Shell_NotifyIcon(NIM_ADD, TrayIcon)
End Function
 
Function msMove(frmForm As Object, curX As Single)
Static Message As Long
Static RR As Boolean
    Message = curX / Screen.TwipsPerPixelX
 
    If RR = False Then
        RR = True
        Select Case Message
            Case WM_LBUTTONDBLCLK
                MsgBox "Doppelklick"
 
            Case WM_RBUTTONUP
                MsgBox "Rechtsklick"
        End Select
        RR = False
    End If
End Function
 
Function removeTray(frmForm As Object)
    TrayIcon.cbSize = Len(TrayIcon)
    TrayIcon.hWnd = frmForm.hWnd
    TrayIcon.uId = vbNull
    'Remove icon for Tray
    Call Shell_NotifyIcon(NIM_DELETE, TrayIcon)
End Function
So, Du rufst beim Form_Load Ereignis initTray(Formularname, LoadPicture("BILDPFAD"), "ToolTip") auf. Beim MouseMove-Ereignis fügst du den Aufruf msMove(Formularname, X) ein. Das ist nötig, weil dieses Ereignis "Missbraucht" wird, um den Klick auf das Icon festzustellen. Beim Form_Unload rufst du dann noch removeTray(Formularname) auf.

Ich hoffe das war verständlich

Cu David
--------------------------------------------
ist eine geniale Erfindung

Q-lympics ist geil

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Programm soll im Hintergrund laufen583dormiens02.02.04 18:03
Re: Programm soll im Hintergrund laufen287Davey1234(5)02.02.04 18:18
Re: Programm soll im Hintergrund laufen276Davey1234(5)02.02.04 18:21
Re: Programm soll im Hintergrund laufen258dormiens02.02.04 18:24
Re: Programm soll im Hintergrund laufen267Dominik S.02.02.04 19:05
Re: Programm soll im Hintergrund laufen276Davey1234(5)02.02.04 18:34
Re: Programm soll im Hintergrund laufen308Davey1234(5)02.02.04 18:38
Re: Programm soll im Hintergrund laufen313dormiens02.02.04 19:14
Re: Programm soll im Hintergrund laufen315Davey1234(5)02.02.04 20:03
Re: Programm soll im Hintergrund laufen256dormiens02.02.04 20:22
Re: Programm soll im Hintergrund laufen276Davey1234(5)02.02.04 20:26
Re: Programm soll im Hintergrund laufen248dormiens02.02.04 20:30
Re: Programm soll im Hintergrund laufen259Davey1234(5)02.02.04 20:33
Re: Programm soll im Hintergrund laufen374dormiens02.02.04 20:35
Re: Programm soll im Hintergrund laufen288Davey1234(5)02.02.04 20:44
Re: Programm soll im Hintergrund laufen269dormiens02.02.04 20:47
Re: Programm soll im Hintergrund laufen398Davey1234(5)02.02.04 20:42

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel