Значок существует в системном трее?

Я хочу проверить, существует ли значок в системном трее; например, если приложение «X» отобразило свой значок на панели задач в области панели задач.

Я искал информацию о том, как это сделать, но ничего не нашел.

ОБНОВИТЬ :

Это то, что я пробовал в VB.NET, переводя примеры С# URL-адреса, указанного в комментарии Роберта, но я не знаю, как его продолжить.

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

person ElektroStudios    schedule 09.04.2013    source источник
comment
вы хотите сделать это для своего приложения или стороннего приложения?   -  person Parimal Raj    schedule 09.04.2013
comment
social.msdn.microsoft .com/Forums/en-US/csharpgeneral/thread/   -  person Robert Harvey    schedule 09.04.2013
comment
Спасибо за комментарий, это для стороннего приложения   -  person ElektroStudios    schedule 09.04.2013
comment
@ Роберт, спасибо, но я вообще ничего не понимаю   -  person ElektroStudios    schedule 09.04.2013
comment
Мне пришлось бы воспроизвести это в моей лаборатории, чтобы объяснить вам. Экстракт крыла летучей мыши, вероятно, будет задействован.   -  person Robert Harvey    schedule 09.04.2013


Ответы (1)


Вы должны прочитать этот статья проекта кода.

person Screitor    schedule 09.04.2013