2013-04-09 3 views
7

아이콘이 시스템 트레이에 있는지 확인하고 싶습니다. "X"응용 프로그램이 시스템 트레이 영역에 시스템 트레이 아이콘을 표시했는지 확인하십시오.아이콘이 시스템 트레이에 있습니까?

Google 검색 방법에 대한 정보는 찾았지만 아무 것도 찾지 못했습니다.

UPDATE :

내가 gived 로버트 주석에 의해 URL의 C#을 예제를 번역 VB.NET에서 시도했습니다,하지만 난 그것을 계속하는 방법을 모르는 것이.

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

응용 프로그램 또는 타사 응용 프로그램에 사용 하시겠습니까? –

+7

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

+0

댓글을 주셔서 감사합니다. 타사 앱을위한 것입니다. – ElektroStudios

답변

3

코드 프로젝트 문서 this을 읽어야합니다.

관련 문제