Come mostrare sempre le icone della barra di programmi in Windows per impostazione predefinita * *?

StackOverflow https://stackoverflow.com/questions/904790

  •  05-09-2019
  •  | 
  •  

Domanda

Se un programma viene eseguito per la prima volta in Windows 7, si nasconde automaticamente l'icona. C'è qualche impostazione manifesto o opzione per forzare Windows 7 per sempre mostrare l'icona di default?

È stato utile?

Soluzione

In .NET Rocks podcast, non molto tempo fa, Kate Gregorio da Microsoft stava dicendo che è impossibile.

Ha detto qualcosa come: "Se l'utente lo vuole (tray icon) lui / lei sarà messo lì". Ragione di questo è per evitare confusione nella tray area.

Altri suggerimenti

Se si vuole veramente per mostrare barra-icona, è possibile un palloncino popup con testo minimale e solo successivamente nascondere il palloncino ed è ombra di nuovo dal seguente codice-esempio:

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

Se si ripete questa (ad esempio ogni 30 secondi), il vostro trayicon rimarrà lì perché Explorer.exe pensa, c'è un palloncino aperto per visualizzare all'utente. Alcuni minori problemi - come il diritto clic direttamente sull'icona - sono ancora lì

.

ho veramente usato per mostrare l'icona del vassoio per la nostra azienda-software in cui l'utente non hanno lo scopo di farlo manualmente e per ogni aggiornamento. Quindi forse questo aiuterà qualcuno ...:)

In caso contrario, sono pienamente d'accordo: questo dovrebbe essere solo nelle mani degli utenti, non controllata da l'applicazione

.

Non è certamente "impossibile". C'è un ITrayNotify interfaccia COM non documentata per il recupero le icone della barra e cambiare la loro visibilità, utilizzato da Explorer. Sorgente C ++ qui: http://thread0.me/tag/windows/

Naturalmente, utilizzando un'API non ufficiale è rischioso e Windows 8 è intoduced rompere modifiche a questa API, il che significa che è necessario utilizzare 2 diverse definizioni per XP - Win7 e Win8 - Win10. Ma hey, anche Chrome utilizza questo ingannare . Basta essere sicuri di gestire gli errori in modo corretto.

contrassegnato come duplicato ha la risposta di come è fatto.

  

Ecco un link ( alternano link ) che spiega come e ecco il codice C # .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top