Autor |
Beitrag |
FriFra 
      
Beiträge: 557
Win XP Prof, Win XP Home,Win Server 2003,Win 98SE,Win 2000,Win NT4,Win 3.11,Suse Linux 7.3 Prof,Suse Linux 8.0 Prof
D2k5 Prof, D7 Prof, D5 Standard, D3 Prof, K3 Prof
|
Verfasst: Mi 26.06.02 16:30
Die Funktion "Task beenden" unter Win98 enspricht dem "Schliessen" aus dem Kontextmenü!
Deshalb verschwindet z.B. auch das ICQ icon... Wenn man aber den Process killt bleibt auch das ICQ Icon (ich habs getestet!).
Der Taskmanager von NT/2000 und XP kann unter Prozesse die Task genauso killen wie terminateprocess... die Trayicons bleiben...
|
|
FriFra 
      
Beiträge: 557
Win XP Prof, Win XP Home,Win Server 2003,Win 98SE,Win 2000,Win NT4,Win 3.11,Suse Linux 7.3 Prof,Suse Linux 8.0 Prof
D2k5 Prof, D7 Prof, D5 Standard, D3 Prof, K3 Prof
|
Verfasst: Do 27.06.02 11:45
Ich habe mir jetzt eine Procedure gebastelt, welche verweiste Icons beseitigt:
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38:
| procedure TService1.RemoveOldFromTray(); var TrayWnd, TrayNWnd:HWND; TrayRect:TRect; Xo,Yo,X,Y,CX,CY:integer; begin //Save old position Xo:=Mouse.CursorPos.X; Yo:=Mouse.CursorPos.Y; //Traywindow finden TrayWnd :=FindWindow('Shell_TrayWnd',nil); TrayNWnd:=FindWindowEx(TrayWnd, 0, 'TrayNotifyWnd', nil); GetWindowRect(TrayNWnd,TrayRect); //move the mouse over the systray area CX:=0; CY:=0; for Y:=TrayRect.Top to TrayRect.Bottom do begin if CY=10 then begin for X:=TrayRect.Left to TrayRect.Right do begin if CX=10 then begin SetCursorPos(X,Y); //a little pause, whithout this the systray does'nt notify the mousemove Sleep(1); CX:=0; end; CX:=CX+1; end; CY:=0; end; CY:=CY+1; end; //ResetCursorPos SetCursorPos(Xo,Yo); end; |
Das ist zwar im Grunde nur ein Workaround, aber bis sich etwas besseres findet geht das auch so.
|
|
Chatfix
      
Beiträge: 1583
Erhaltene Danke: 10
Win 10, Win 8, Win 7, Win Vista, Win XP
VB.net (VS 2015), MsSQL (T-SQL), HTML, CSS, PHP, MySQL
|
Verfasst: Do 27.06.02 14:07
FriFra hat folgendes geschrieben: | Die Funktion "Task beenden" unter Win98 enspricht dem "Schliessen" aus dem Kontextmenü!
Deshalb verschwindet z.B. auch das ICQ icon... Wenn man aber den Process killt bleibt auch das ICQ Icon (ich habs getestet!).
Der Taskmanager von NT/2000 und XP kann unter Prozesse die Task genauso killen wie terminateprocess... die Trayicons bleiben... |
Ich benutze ICQ und das Icon geht manchmal und manchmal nicht  keine ahnung warum *g*
_________________ Gehirn: ein Organ, mit dem wir denken, daß wir denken. - Ambrose Bierce
|
|
damadmax
      
Beiträge: 60
|
Verfasst: Sa 27.07.02 18:24
ganz einfach: ICQ ist der letzte dreck.
_________________ Alle Rechtschreibfehler sind gewollt und sollen meine Individualität verstärkt zum Ausdruck bringen.
|
|
Chatfix
      
Beiträge: 1583
Erhaltene Danke: 10
Win 10, Win 8, Win 7, Win Vista, Win XP
VB.net (VS 2015), MsSQL (T-SQL), HTML, CSS, PHP, MySQL
|
Verfasst: Sa 27.07.02 18:35
passt ja voll zum thema *fg*
_________________ Gehirn: ein Organ, mit dem wir denken, daß wir denken. - Ambrose Bierce
|
|
damadmax
      
Beiträge: 60
|
Verfasst: So 28.07.02 04:40
ja sorry!
das kam mir grad so *gg*
_________________ Alle Rechtschreibfehler sind gewollt und sollen meine Individualität verstärkt zum Ausdruck bringen.
|
|
Chatfix
      
Beiträge: 1583
Erhaltene Danke: 10
Win 10, Win 8, Win 7, Win Vista, Win XP
VB.net (VS 2015), MsSQL (T-SQL), HTML, CSS, PHP, MySQL
|
Verfasst: So 28.07.02 04:46
*grins* Es sei dir verziehen gggggg
_________________ Gehirn: ein Organ, mit dem wir denken, daß wir denken. - Ambrose Bierce
|
|
SpeedyGTD
      
Beiträge: 89
|
Verfasst: So 28.07.02 11:10
Hallo Leute ich hab zu dem ganzen jetzt auch noch ne Frage, nach dem ich Programme nur Killen wollte, bei mir heissen die meisten nur Form1 was auch geht hab ich jetzt das Problem wie ich manche Programme schließe, zB. den Windows Explorer, kann man nicht den Form Namen auslesen. 
|
|
Chatfix
      
Beiträge: 1583
Erhaltene Danke: 10
Win 10, Win 8, Win 7, Win Vista, Win XP
VB.net (VS 2015), MsSQL (T-SQL), HTML, CSS, PHP, MySQL
|
Verfasst: So 28.07.02 11:37
ich glaub solche programme kannst du nach dem "anwendungsname" killen...
aber bin grad aufgestanden.. muss ich mal guggn ob ich sowas find....
_________________ Gehirn: ein Organ, mit dem wir denken, daß wir denken. - Ambrose Bierce
|
|
SpeedyGTD
      
Beiträge: 89
|
Verfasst: So 28.07.02 12:03
geht leider nicht, hab ich schon probiert, wenn es geht, geht das auch mit der Systemsteuerung.
Ich hab auch schon den Internen Namen probiert, geht auch nicht.
|
|
Cyberbob
      
Beiträge: 38
|
Verfasst: Mi 20.11.02 21:26
Chatfix hat folgendes geschrieben: |
Quelltext 1:
| PostMessage(FindWindow(nil,pchar('ANWENDUNGSNAME'),WM_CLOSE, 0, 0); | |
Wie binde ich den Quelltext denn ein? Wenn ich das ganze in eine Button procedure packe, dann bekomme ich die Fehlermeldung zuviele Pararmeter...
Cyberb  b
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Mi 20.11.02 21:37
|
|
Chatfix
      
Beiträge: 1583
Erhaltene Danke: 10
Win 10, Win 8, Win 7, Win Vista, Win XP
VB.net (VS 2015), MsSQL (T-SQL), HTML, CSS, PHP, MySQL
|
Verfasst: Do 21.11.02 16:47
ui sorry *gg*
aber mit ein bischen guggn hätt das jeder rausgefunden 
_________________ Gehirn: ein Organ, mit dem wir denken, daß wir denken. - Ambrose Bierce
|
|
Cyberbob
      
Beiträge: 38
|
Verfasst: Do 21.11.02 19:28
ja, das habe ich mittlerweile auch rausgefunden, aber as ist denn nun besser zum sauberen beenden, wm_quit oder close?
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Do 21.11.02 19:41
Cyberbob hat folgendes geschrieben: | ja, das habe ich mittlerweile auch rausgefunden, aber as ist denn nun besser zum sauberen beenden, wm_quit oder close? |
Ich seh schon kein Plan wie Windows funktioniert. Kuck mal hier: www.luckie-online.de...orials/fenster.shtml
Wenn du das gelesen hast, sollte alles klar sein.
|
|
noeppel
Hält's aus hier
Beiträge: 6
|
Verfasst: Fr 29.11.02 17:19
Um einen Klick auf das (X) zu simulieren schickt man die WM_SYSCOMMAND mit SC_CLOSE.
Quelltext 1:
| SendMessage(Handle,WM_SYSCOMMAND,SC_CLOSE,0); |
Wenn das Programm, dass geschlossen werden soll auf einen Klick auf (X) reagiert, dann sollte der Code auch funktionieren.
|
|
|