|
|||||||
|
|
|
Themen-Optionen | Thema durchsuchen | Ansicht |
|
|
#1 |
|
Oldie
Registriert seit: 24.10.2003
Beiträge: 703
|
Wenn man ein Programm, welches ein Icon im Systray (WinXP) zeigt, beispielsweise per taskkill beendet, bleibt das Icon im Systray bestehen.
Fährt man mit der Maus drüber, verschwindet es. Kann man das irgendwie per Batch automatisieren ? Ich möchte also: Wenn mehere Tasks per taskkill beendet werden, sollen die Icons auch aus dem Systray verschwinden. Sonst sind sie nach einem Neustart von einem der gekillten Tasks doppelt vorhanden. Gibts da vielleicht ein Script, ein kleines Progrämmelchen oder so dafür ? |
|
|
|
|
|
#2 |
|
Toast
Registriert seit: 03.06.2001
Ort: Internet
Beiträge: 2.218
|
Code:
#include <windows.h>
#define FW(x,y) FindWindowEx(x, NULL, y, L"")
void RefreshTaskbarNotificationArea()
{
HWND hNotificationArea;
RECT r;
hNotificationArea = FindWindowEx(FW(FW(FW(NULL, L"Shell_TrayWnd"), L"TrayNotifyWnd"), L"SysPager"), NULL, L"ToolbarWindow32", L"Notification Area");
if(!hNotificationArea) {
MessageBox(NULL, L"Error: Unable to get HWND of Notification Area.", L"RefreshTray", MB_ICONERROR|MB_OK);
return;
}
GetClientRect(hNotificationArea,&r);
for (LONG x = 0; x < r.right; x += 5)
for (LONG y = 0; y < r.bottom; y += 5)
SendMessage(
hNotificationArea,
WM_MOUSEMOVE,
0,
(y << 16) + x);
}
int __stdcall WinMain(HINSTANCE a, HINSTANCE b, LPSTR c, int d) {
RefreshTaskbarNotificationArea();
return 0;
}
http://rapidshare.com/files/381064663/refreshtray.rar |
|
|
|
| Folgende 2 Benutzer sagen Danke zu forwarder für den nützlichen Beitrag: |
|
|
#3 |
|
Oldie
Registriert seit: 24.10.2003
Beiträge: 703
|
Cool !
Vielen herzlichen Dank ! Funktioniert einwandfrei. Ich habe jede Menge rumgegoogelt, aber nicht wirklich was gefunden. Nur diversen VB-Quellcode. Mit dem konnte ich aber nix anfangen. |
|
|
|
|
|
#4 |
|
Registriert seit: 01.06.2011
Beiträge: 3
|
Hallo,
auch ich suche seit zwei Tagen nach einer Lösung dieses Problems. Könntest Du den Link zu Deinem Programm noch einmal aktualisieren? Herzlichen Dank, SHC |
|
|
|
|
|
#5 |
|
Oldie
Registriert seit: 03.06.2002
Beiträge: 1.972
|
Hab leider kein XP zur Verfügung und kann es nicht testen, aber einfach mal kompiliert: http://uploaded.to/file/l0qnszhz
Hab nur Unicode gefixt sonst nix geändert, also alles Lob oder Schmähungen an den rechtmässigen Urheber bitte |
|
|
|
|
|
#6 |
|
Registriert seit: 01.06.2011
Beiträge: 3
|
Hallo,
vielen herzlichen Dank für die Mühe!! Leider funktioniert es bei mir nicht, es erscheint eine Fehlermeldung. "Unable to geht HWND of Notification Area". Allerdings nutze ich Windows 7 - habe erst vorhin gesehen, dass es wohl für WinXP gedacht war. *seufz* Es ist ganz schön schwer, für dieses Problem eine Lösung zu finden. Ich suche jetzt schon mehrere Tage ohne nennenswerten Erfolg. Trotzdem nochmals herzlichen Dank!!! SHC |
|
|
|
|
|
#7 |
|
Oldie
Registriert seit: 22.03.2004
Beiträge: 94
|
Danach hatte ich auch mal ziemlich lange gesucht - fündig wurde ich bei den Scriptschreibern der AutoHotKey-Community: http://www.autohotkey.com/forum/topic8086-15.html
Unter XP getestet und für gut befunden, ob's unter Win7 läuft weiß ich nicht |
|
|
|
|
|
#8 |
|
Oldie
Registriert seit: 24.10.2003
Beiträge: 703
|
Ich habe es hier nochmal hochgeschoben:
http://www.multiupload.com/MKEMZCFLB7 Ich habe es seit damals im täglichen Einsatz. Funktioniert hervorragend. Herzlichen Dank nochmal, forwarder! |
|
|
|
|
|
#9 |
|
Registriert seit: 01.06.2011
Beiträge: 3
|
Hallo,
ganz herzlichen Dank an "Simukan" & "MHuber" & "Heiland". Die kompilierte Datei funktioniert bei mir (Windows 7 64bit) leider nicht, dafür funktioniert jedoch eines der AutoHotKey-Scripte auf der verlinkten Seite!! Nochmals herzlichen Dank für Eure Bemühungen, Ihr habt mir sehr, sehr geholfen! SHC |
|
|
|
|
|
#10 |
|
Toast
Registriert seit: 03.06.2001
Ort: Internet
Beiträge: 2.218
|
Weils vor einiger Zeit nochmal verlangt wurde hier eine Version die nicht auf 4KB geschrumpft wurde und dementsprechend auch unter Win2k noch laufen sollte:
http://www.multiupload.com/5GD4NGBKHH Source ist dabei, ist derselbe - nur halt die .exe etwas groesser. |
|
|
|
|
|
#11 | |
|
Oldie
Registriert seit: 24.10.2003
Beiträge: 703
|
@forwarder
Ich bin gerade dabei, mein System auf Win7@64bit einzurichten. Allerdings kommt beim Start der refreshtray.exe folgende Fehlermeldung: Zitat:
|
|
|
|
|
|
|
#12 |
|
Mumie
Registriert seit: 05.02.2003
Beiträge: 346
|
|
|
|
|
|
|
#13 |
|
Oldie
Registriert seit: 26.04.2001
Beiträge: 3.733
|
Könnte vielleicht hiermit klappen: http://www.autoitscript.com/forum/to..._hl__tray+icon
|
|
|
|
| Folgender Benutzer sagt Danke zu Shakti7 für den nützlichen Beitrag: |
|
|
#14 |
|
Oldie
Registriert seit: 01.08.2002
Ort: somewhere far beyond
Beiträge: 1.452
|
Ich bin bei http://www.codeproject.com gerade fündig geworden.
Da hat ein Autor genau dieses Problem behandelt. Ich habe mir die Sourcecodes eben runter geladen und mal ganz flüchtig überflogen. Es ist in C# gecoded und nutzt daher das .NET Framework. Programm funktioniert unter Win7 einwandfrei. Link zur Quelle |
|
|
|
| Folgender Benutzer sagt Danke zu Dorwyn für den nützlichen Beitrag: |
|
|
#15 |
|
Oldie
Registriert seit: 24.10.2003
Beiträge: 703
|
@Shakti7
Funktioniert bei mir leider nicht. @Dorwyn Funktioniert - aber diese TrayIconBuster.exe bleibt permanent im Speicher. Eine unschöne Lösung. Es wäre toll, wenn forwarder sein Script anpassen könnte. |
|
|
|
|
|
#16 |
|
Oldie
Registriert seit: 01.08.2002
Ort: somewhere far beyond
Beiträge: 1.452
|
Ahh ich verstehe. Ich kann dir die Anwendung auf eine normale Consolenanwendung umbauen die dann genau ein einziges Mal durchläuft wenn du möchtest.
Ich habe allerdings festgestellt, dass das Icon unter Win7 nur dann entfernt wird wenn es im Systray auch angezeigt wird und nicht ausgeblendet ist. Wenn das im rot markierten Bereich liegt, wird das Icon nicht gelöscht mit dem Tool. Sollte dir das reichen, einfach kurz Bescheid geben, dann bau ich dir das auf eine Consolenanwendung um. |
|
|
|
|
|
#17 |
|
Oldie
Registriert seit: 24.10.2003
Beiträge: 703
|
@Dorwyn
Sehr gerne. |
|
|
|
|
|
#18 |
|
Oldie
Registriert seit: 09.06.2001
Beiträge: 3.843
|
Ich kriegs nicht in meinen Kopf, das MS da noch keine eigene API für gemacht hat.
Statt dessen muss man hier mit ner Maus-Simulation rumkrebsen. @Microsoft: Do it. Now. |
|
|
|
|
|
#19 |
|
Patriarch
Registriert seit: 02.05.2001
Beiträge: 6.162
|
|
|
|
|
|
|
#20 |
|
Oldie
Registriert seit: 01.08.2002
Ort: somewhere far beyond
Beiträge: 1.452
|
@Simukan
Prog ist fertig, nur habe ich hier in der Firma keine Chance auf einen Filehoster zu kommen... Ich lade dir das hoch wenn ich zuhause bin. //Edith meint: Hier zu finden: http://uploaded.to/file/ior8nnhs Geändert von Dorwyn (24.08.2011 um 16:04 Uhr) Grund: Link hinzugefügt |
|
|
|
| Folgender Benutzer sagt Danke zu Dorwyn für den nützlichen Beitrag: |
|
|
#21 |
|
Oldie
Registriert seit: 24.10.2003
Beiträge: 703
|
@Dorwyn
Herzlichen Dank für die Mühe. Leider funktioniert es hier nicht.
|
|
|
|
|
|
#22 |
|
Oldie
Registriert seit: 01.08.2002
Ort: somewhere far beyond
Beiträge: 1.452
|
Hmm... läuft bei mir einwandfrei
Versuchs mal einfach per Doppelklick zu starten. Fehlen evtl. (Admin-)Rechte bei der Batch Datei? |
|
|
|
| Folgender Benutzer sagt Danke zu Dorwyn für den nützlichen Beitrag: |
|
|
#23 |
|
Oldie
Registriert seit: 01.08.2002
Ort: somewhere far beyond
Beiträge: 1.452
|
Eben nochmal getestet unter Win 7 / 32bit
Läuft wie gesagt sauber. |
|
|
|
| Folgender Benutzer sagt Danke zu Dorwyn für den nützlichen Beitrag: |
|
|
#24 |
|
Oldie
Registriert seit: 24.10.2003
Beiträge: 703
|
So ich habe es nochmal probiert:
Unter Win7@32bit läuft es einwandfrei. Unter Win7@64bit läuft es nicht. (siehe obigen Screenshot) Ich benötige was, was unter Win7@64bit läuft. Das Original (TrayIconBuster.exe) funktioniert. Aber da stört mich, dass das Teil imSpeicher bleibt. |
|
|
|
|
|
#25 | |
|
fearless spaceman
Registriert seit: 22.04.2001
Ort: outer space
Beiträge: 782
|
Zitat:
edit: nun konnte ich TrayIconBuster.exe herunterladen. Mit dem angepassten Batch wird das Tool beendet. Code:
@echo off start /b TrayIconBuster.exe ping 127.0.0.1 -n 3 >NUL 2>&1 tasklist|find /i "TrayIconBuster.exe" >NUL if %errorlevel% == 0 taskkill /im TrayIconBuster.exe >NUL Geändert von sPIfF c99 (27.08.2011 um 09:50 Uhr) |
|
|
|
|
|
|
#26 |
|
Oldie
Registriert seit: 07.06.2002
Beiträge: 821
|
Für dieses Problem würde mich auch eine Lösung (Windows 7 - 64bit) interessieren.
Alle hier genannten Vorschläge funktionieren bei mir leider nicht. @forwarder Könntest Du Dich freundlicherweise dieser Sache noch einmal widmen? |
|
|
|
|
| Themen-Optionen | Thema durchsuchen |
| Ansicht | |
|
|