vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Erstellen von dynamischen Kontextmen?s - wann immer Sie sie brauchen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

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

VB.NET - Fortgeschrittene
Code: NotifyIcon mit ContectMenü und Balloon-Nachrichten 
Autor: ap!
Datum: 27.02.05 14:02

Hi. Ich habe lange nach einen Code gesucht, womit man nur ein Icon im Tray hat, wo ein Contextmenü UND Balloon-Popups mitgehen.

ich habe das jetzt gefunden. Ich denke das ich das hier posten sollte, da ich es nicht im Forum findne konnte, und ich es für wichtig finde. Und Sourcecode ist immergut !

Modul:

 
Imports System.Runtime.InteropServices
Public Class Balloon
 
    <StructLayout(LayoutKind.Sequential)> _
    Public Structure NOTIFYICONDATA
        Public cbSize As Int32
        Public hwnd As IntPtr
        Public uID As Int32
        Public uFlags As Int32
        Public uCallbackMessage As IntPtr
        Public hIcon As IntPtr
        <MarshalAs(UnmanagedType.ByValTStr, SizeConst:=128)> _
        Public szTip As String
        Public dwState As Int32
        Public dwStateMask As Int32
        <MarshalAs(UnmanagedType.ByValTStr, SizeConst:=256)> _
        Public szInfo As String
        Public uTimeout As Int32
        <MarshalAs(UnmanagedType.ByValTStr, SizeConst:=64)> _
        Public szInfoTitle As String
        Public dwInfoFlags As Int32
    End Structure
 
    Public Const NIF_MESSAGE As Int32 = &H1
    Public Const NIF_ICON As Int32 = &H2
    Public Const NIF_STATE As Int32 = &H8
    Public Const NIF_INFO As Int32 = &H10
    Public Const NIF_TIP As Int32 = &H4
    Public Const NIM_ADD As Int32 = &H0
    Public Const NIM_MODIFY As Int32 = &H1
    Public Const NIM_DELETE As Int32 = &H2
    Public Const NIM_SETVERSION As Int32 = &H4
    Public Const NOTIFYICON_VERSION As Int32 = &H5
    Public Const NIIF_ERROR As Int32 = &H3
    Public Const NIIF_INFO As Int32 = &H1
    Public Const NIIF_NONE As Int32 = &H0
    Public Const NIM_SETFOCUS As Int32 = &H3
    Public Enum BalloonMessageType
        None = &H0
        Info = &H1
        [Error] = &H3
    End Enum
 
    Shared Sub NotifyBalloon(ByRef ntfyIcon As NotifyIcon, ByVal Title As _
      String, ByVal Info As String, ByVal Type As BalloonMessageType, ByVal _
      Timeout As Integer)
 
        Dim t As Type = GetType(NotifyIcon)
        Dim window As IntPtr = (CType(t.GetField("window", _
          System.Reflection.BindingFlags.Instance Or _
          System.Reflection.BindingFlags.NonPublic).GetValue(ntfyIcon), _
          NativeWindow)).Handle
        Dim id As Int32 = CType(t.GetField("id", _
        System.Reflection.BindingFlags.Instance Or _
        System.Reflection.BindingFlags.NonPublic).GetValue(ntfyIcon), Integer)
        Dim uNIF As NOTIFYICONDATA
        uNIF.cbSize = 0
        uNIF.dwInfoFlags = 0
        uNIF.dwState = 0
        uNIF.dwStateMask = 0
        uNIF.hIcon = IntPtr.Zero
        uNIF.szTip = ""
        uNIF.uCallbackMessage = New IntPtr(&H200)
 
        uNIF.szInfoTitle = Title
        uNIF.uTimeout = Timeout
        uNIF.hwnd = window
        uNIF.uID = id
        uNIF.dwInfoFlags = CType(Type, Int32)
        uNIF.uTimeout = NOTIFYICON_VERSION
        uNIF.szInfo = Info
        uNIF.uFlags = NIF_INFO
        uNIF.cbSize = Marshal.SizeOf(uNIF)
        Dim result As Int32 = Shell_NotifyIconA(NIM_MODIFY, uNIF)
    End Sub
 
 
    Private Declare Function Shell_NotifyIconA Lib "shell32" (ByVal dwMessage _
      As Int32, ByRef pnid As NOTIFYICONDATA) As Int32
End Class
Erstellt nun ein NotifyIcon (bei mir NotifyIcon1), optionell könnt ihr das jetzt mit einem Context Menü austatten. Der Aufruf für eine Balloon Box:

 
 Balloon.NotifyBalloon(NotifyIcon1, "Überschrift", ""Text", DAUER)
Hoffe das es euch hilft. Finde den Code super.

Gr??e

[AP!]

P.S.
Ich habe MSN, falls nochjemand MSN haben sollte, kann er mich ja addedn, dann k?nnen wir mal ?ber MSN labbern

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Code: NotifyIcon mit ContectMenü und Balloon-Nachrichten4.892ap!27.02.05 14:02
Re: Code: NotifyIcon mit ContectMenü und Balloon-Nachrichten1.959ModeratorDaveS27.02.05 14:26
Re: Code: NotifyIcon mit ContectMenü und Balloon-Nachrichten1.794ap!27.02.05 14:32
Re: Code: NotifyIcon mit ContectMenü und Balloon-Nachrichten1.737Maywood27.02.05 14:36
Re: Code: NotifyIcon mit ContectMenü und Balloon-Nachrichten...1.667ModeratorDaveS27.02.05 14:41
Re: Code: NotifyIcon mit ContectMenü und Balloon-Nachrichten...1.679Maywood27.02.05 18:11
Re: Code: NotifyIcon mit ContectMenü und Balloon-Nachrichten1.668ModeratorDaveS27.02.05 14:38
Re: Code: NotifyIcon mit ContectMenü und Balloon-Nachrichten1.552ap!27.02.05 18:54
Re: Code: NotifyIcon mit ContectMenü und Balloon-Nachrichten1.646lars00704.03.05 16:03
Re: Code: NotifyIcon mit ContectMenü und Balloon-Nachrichten1.621msdn04.04.05 20:11
Re: Code: NotifyIcon mit ContectMenü und Balloon-Nachrichten1.609lars00704.04.05 23:08
Re: Code: NotifyIcon mit ContectMenü und Balloon-Nachrichten1.589msdn07.05.05 22:50
Re: Code: NotifyIcon mit ContectMenü und Balloon-Nachrichten1.563JTEGEL18.07.05 09:48
Re: Code: NotifyIcon mit ContectMenü und Balloon-Nachrichten1.552msdn18.07.05 12:51
Re: Code: NotifyIcon mit ContectMenü und Balloon-Nachrichten1.596hase2305.08.05 21:09

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-2024 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