Windows 7에서 프로그램을 처음 실행하면 아이콘이 자동으로 숨겨집니다. Windows 7에서 기본적으로 아이콘을 항상 표시하도록하는 매니 페스트 설정 또는 옵션이 있습니까?Windows에서 * default *로 프로그램 트레이 아이콘을 항상 표시하는 방법?
답변
.NET Rocks Podcast에서는 오래 전부터 Microsoft의 Kate Gregory가 불가능하다고 말했습니다.
그녀는 "사용자가 그것을 원한다면 (트레이 아이콘) 그는 그곳에 놓을 것입니다"라고 말했습니다. 이유는 용지함 영역에 혼란을 방지하기위한 것입니다.
당신이 정말로 당신의 트레이 아이콘을 표시 할 경우, 최소한의 텍스트 풍선을 팝업 그냥 나중에 풍선을 숨기고 다음 코드 예를 다시 그림자의 수 :이 반복 경우
trayIcon.ShowBalloonTip(30000, "", ".", ToolTipIcon.None)
Dim balloonHandle As IntPtr = GetBalloonHwnd(balloonText) ' mainly: FindWindow("tooltips_class32", Nothing)
If (balloonHandle <> IntPtr.Zero) Then
Dim sysShadowClassHwnd As IntPtr = FindWindow("SysShadow", Nothing)
' will hide balloon and leaving a small shadow artifact - just for this balloon
PostMessage(balloonHandle, WM_SETREDRAW, IntPtr.Zero, IntPtr.Zero)
SetWindowPos(balloonHandle, IntPtr.Zero, 0, 0, 0, 0, SWP_HIDEWINDOW)
If (sysShadowClassHwnd <> IntPtr.Zero) Then
' this will remove the small shadow artifact
PostMessage(sysShadowClassHwnd, WM_CLOSE, IntPtr.Zero, IntPtr.Zero)
End If
End If
(예 : 매 30 초마다) Explorer.exe가 생각하기 때문에 트레이 아이콘이 사용자에게 표시되도록 열린 상태로 남습니다. 아이콘에 직접 마우스 오른쪽 버튼을 누르지 않은 것과 같은 몇 가지 사소한 문제가 여전히 존재합니다.
저는 사용자가 수동으로 그리고 각 업데이트마다이 작업을 수행하지 않으려는 회사 소프트웨어의 트레이 아이콘을 표시하는 데 정말로 사용되었습니다. 그래서 어쩌면이 도움이 될 것입니다 ... :)
그렇지 않으면, 전적으로 동의합니다 : 이것은 사용자의 손에 있어야하며 응용 프로그램에 의해 제어되지 않아야합니다.
question marked as duplicate에는 어떻게 수행 되었는가에 대한 답변이 있습니다.
Here's a link (alternate link) 그 방법에 대해 설명하고 here's C# code.
첫 번째 링크가 고장났습니다. 고칠 수 있습니까? – mingxiao
확실히 "불가능"하지 않습니다. 트레이 아이콘을 검색하고 Explorer 자체에서 사용되는 표시 여부를 변경하기위한 문서화되지 않은 COM 인터페이스 ITrayNotify
이 있습니다. 여기에 전체 C++ 소스 : 물론 http://thread0.me/tag/windows/
, 비공식 API 를 사용하여이 위험 및 Windows 8은 XP를위한 2 개의 다른 정의를 사용한다는 뜻이 API에 깨는 변화 intoduced있다 - Win7에 및 Win8 - Win10를. 하지만 이봐, 심지어 Chrome uses this trick. 제대로 오류를 처리해야합니다.
제 의견으로는 환상적인 일입니다. 시스템 트레이는 학대 당했고 항상 스크린 부동산을 되찾기 위해 "항상 숨기"위해 모든 것을 설정하려했습니다 –
Jamie, 동의 하겠지만, 트레이 아이콘이 필수적으로 필요한 앱 유형이 있습니다. 주 프로그램에 대한 유일한 액세스 권한으로 그리고 Win7이 "아이콘이 어디에 있습니까?"라는 큰 지원로드를 생성 할 것이라는 것을 확실히 알고 있습니다. –
글쎄, 실제로 가능할 수도 있습니다 ... 사용자가 표시 할 트레이 아이콘을 구성 할 수 있다면 코드로 구성 할 수 있어야합니다 (아마도 약간의 레지스트리 값을 변경하여 가능). –