Altes Symbol nach dem Neustart des SpeedFan automatisch aus der Taskleiste verschwinden lassen

3051
Matthew Wai
@echo off taskkill /F /T /IM speedfan.exe start "" "C:\Program Files (x86)\SpeedFan\speedfan.exe" cls exit 

Ich benutze die oben genannten Befehle in einer .bat-Datei, um SpeedFan automatisch jedes Mal neu zu starten, wenn der Computer aus dem Ruhemodus aufweckt.

Das alte SpeedFan-Symbol in der Taskleiste wird jedoch nicht automatisch ausgeblendet, wenn das neue angezeigt wird. Ich muss den Cursor manuell auf das alte Symbol bewegen, um es verschwinden zu lassen. Wie kann ich es automatisch verschwinden lassen?

Ich habe gerade eine einfache Lösung gefunden: Laden Sie NoTrayOrphans.exe von http://www.autohotkey.net/~Nazzal/Other/NoTrayOrphans.exe herunter

Ihnen allen danke ich für Ihre Hilfe!

3
Wenn Sie explorer.exe beenden und neu starten, wird das ausgeführt, was Sie möchten. Ramhound vor 9 Jahren 0
Meinen Sie damit C: \ Windows \ explorer.exe? Matthew Wai vor 9 Jahren 0
Es gibt nur eine explorer.exe auf Ihrem System. Ramhound vor 9 Jahren 0
Du kannst nicht Ein Programm kann das Taskleistensymbol nur dann automatisch entfernen, wenn Sie es ordnungsgemäß herunterfahren. Durch das Erzwingen eines Exits über Taskkill verhindern Sie absichtlich, dass die Anwendung die Möglichkeit hat, sie zu entfernen. qasdfdsaq vor 9 Jahren 0
`taskkill / F / T / IM explorer.exe` `start" "" C: \ Windows \ explorer.exe "` explorer.exe startet nicht, nachdem ich an meinem Ende getötet wurde. Matthew Wai vor 9 Jahren 0
Ihr NoTrayOrphans-Link ist defekt. Ich gehe davon aus, dass dies dasselbe ist: https://autohotkey.com/board/topic/80624-notrayorphans/ MarredCheese vor 6 Jahren 0

2 Antworten auf die Frage

1
Limer

Nun zu einer richtigen Antwort.

Verwenden Sie einfach ein einfaches AutoIt-Skript anstelle von taskkill /F /IM:

 WinClose("SpeedFan") 

Sie müssen nur sicherstellen, dass "Minimize on close" in der SpeedFan-Konfiguration ("Options" -Tab) deaktiviert ist.


Es tut mir leid, wenn dies keine richtige Antwort ist und ich es nicht mit persönlichen Erfahrungen untermauern kann, aber haben Sie überhaupt versucht, eine Lösung zu finden?

Mein allgemeiner Ansatz wäre, virtuelle Mausbewegungen auszuführen oder Windows-API-Aufrufe zu verwenden, um das Aktualisieren des Benachrichtigungsbereichs durch Fenster zu erzwingen .

Ich habe so etwas noch nie gemacht, aber nach ein paar Suchanfragen kam ich zu diesem Google-Suchstring: windows refresh icons "system tray" OR "notification area" autohotkey OR autoit

Ein gutes Ergebnis: AHK - ow-to-Refresh-System-Tray-Icons
Ein anderes: autohotkey.com/board/topic/80624-notrayorphans/(im Thread von oben verlinkt)

Andere Ergebnisse (ohne autohotkey OR autoit):

  1. Aktualisieren des Benachrichtigungsbereichs-Systemtray
  2. forum.lazarus.freepascal.org/index.php?topic=14847.0
  3. blog.stephenklancher.com/2013/08/refreshing-the-notification-area-system-tray/(mit ausführbarer Datei - scheint aber unter Windows 8.1 mit Classic-Shell nicht zu funktionieren)

Es gibt ein mögliches Duplikat bei SO (ich erinnere mich, mehr gesehen zu haben, aber ich scheine es nicht zu finden): stackoverflow.com/questions/74723/can-you-send-a-signal-to-windows-explorer-to-make-it-refresh-the-systray-icons

Leider kann ich keine direkten Links mehr posten und hätte lieber einen Kommentar als diese Antwort geschrieben ...

Ich habe eine einfache Lösung gefunden: Laden Sie NoTrayOrphans.exe von http://www.autohotkey.net/~Nazzal/Other/NoTrayOrphans.exe herunter Matthew Wai vor 9 Jahren 0
@ matthew-wai - Ich bin überrascht, dass ich nicht darüber gestolpert bin. Die Verwendung von "WinClose (" SpeedFan ")" anstelle von "taskkill / F / IM" scheint jedoch in diesem Fall sauberer zu sein, da SpeedFan zwar nicht beendet, aber ordnungsgemäß geschlossen wird. Limer vor 9 Jahren 0
WinClose ("speedfan.exe") funktioniert nicht an meinem Ende, daher kann ich nur NoTrayOrphans.exe verwenden, das ich nach dem Durchsuchen vieler relevanter Webseiten gefunden habe. Matthew Wai vor 9 Jahren 0
@ matthew-wai: Ein AutoIt-Skript mit ** `WinClose (" SpeedFan ")` ** (ohne `.exe '- es ist der Name des Fensters, nicht die ausführbare Datei) funktioniert für mich einwandfrei, erfordert jedoch Administratorrechte (nur als "Taskkill"). Limer vor 9 Jahren 0
WinClose ("SpeedFan") funktioniert auch nicht an meinem Ende. Wenn es läuft, passiert nichts. Matthew Wai vor 9 Jahren 0
0
RegencySoftware

Fügen Sie den folgenden Code in Ihre Batchdatei ein, um das Systray zu aktualisieren. unter diesem Link eine Quelle gefunden, die gut funktioniert (Code unten eingefügt)

@echo off reg export "HKCU\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\TrayNotify" %userprofile%\desktop\traynotify.reg /y reg delete "HKCU\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\TrayNotify" /v IconStreams /f reg delete "HKCU\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\TrayNotify" /v PastIconsStream /f taskkill /f /im explorer.exe start explorer.exe exit 
Ich kapiere es nicht Pierre.Vriens vor 6 Jahren 0