2013-04-09 17 views
7

Voglio verificare se esiste un'icona nella systray; come in, se l'applicazione "X" ha visualizzato l'icona di systray nell'area di systray.L'icona esiste in systray?

Ho cercato su Google per informazioni su come eseguire questa operazione ma non ho trovato nulla.

UPDATE:

Questo quello che ho provato in VB.NET tradurre i C# esempi di URL gived da Robert commento, ma non so come continuare esso.

Imports System.Runtime.InteropServices 

Public Class Form1 

    Public Declare Function FindWindow Lib "user32.dll" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long 
    Public Declare Function FindWindowEx Lib "user32.dll" Alias "FindWindowExA" (ByVal hWndParent As IntPtr, ByVal hWndChildAfter As IntPtr, ByVal lpClassName As String, ByVal lpWindowName As String) As IntPtr 

    Public Shared Function WindowHandle(sTitle As String) As Long 
     Return FindWindow(vbNullString, sTitle) 
    End Function 


    Private Shared Function GetSystemTrayHandle() As IntPtr 
     Dim hWndTray As IntPtr = FindWindow("Shell_TrayWnd", Nothing) 
     If hWndTray <> IntPtr.Zero Then 
      hWndTray = FindWindowEx(hWndTray, IntPtr.Zero, "TrayNotifyWnd", Nothing) 
      If hWndTray <> IntPtr.Zero Then 
       hWndTray = FindWindowEx(hWndTray, IntPtr.Zero, "SysPager", Nothing) 
       If hWndTray <> IntPtr.Zero Then 
        hWndTray = FindWindowEx(hWndTray, IntPtr.Zero, "ToolbarWindow32", Nothing) 
        Return hWndTray 
       End If 
      End If 
     End If 

     Return IntPtr.Zero 
    End Function 

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 
     MsgBox(WindowHandle("Steam")) ' 6687230 
     MsgBox(GetSystemTrayHandle()) ' 62789 
    End Sub 

End Class 
+2

vuoi farlo per la tua applicazione o app di terze parti? –

+7

http://social.msdn.microsoft.com/Forums/en-US/csharpgeneral/thread/4c4f60ce-3573-433d-994e-9c17f95187f0/ –

+0

Grazie per il commento, è per un'applicazione di terze parti – ElektroStudios

risposta

3

È necessario leggere l'articolo del progetto di codice this.