AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Taskbeenden und die Startleiste. (Symbol wird angezeigt)
Thema durchsuchen
Ansicht
Themen-Optionen

Taskbeenden und die Startleiste. (Symbol wird angezeigt)

Offene Frage von "Karstadt"
Ein Thema von Karstadt · begonnen am 2. Jul 2006 · letzter Beitrag vom 2. Jul 2006
Antwort Antwort
Karstadt

Registriert seit: 8. Nov 2005
788 Beiträge
 
#1

Taskbeenden und die Startleiste. (Symbol wird angezeigt)

  Alt 2. Jul 2006, 14:54
Hallo. habe eine Funktion hier in forum gefunden "function KillProcess(dwProcID, Wait: DWORD): Integer;" die einen Process beendet. das funktioniert auch, aber wenn ich ein Process beende, der sich aber dieser Prozess in Systemtray befindet (rechts neben die Uhr) bleibt dieser immer noch zu sehen, wenn ich diesen Process beendet habe. Wie kann ich das lösen?

Delphi-Quellcode:
function KillProcess(dwProcID, Wait: DWORD): Integer;
var
  hProcess: Cardinal;
  dw: DWORD;
begin
  // open the process and store the process-handle
  hProcess := OpenProcess(SYNCHRONIZE or PROCESS_TERMINATE, False, dwProcID);
  // kill it
  if hProcess <> 0 then
  begin
    dw := Integer(TerminateProcess(hProcess, 1));
    if dw <> 0 then
    begin
      // TerminateProcess returns immediately, so wie have to verify the result via
      // WaitForSingleObject
      dw := WaitForSingleObject(hProcess, Wait);
      if dw = WAIT_FAILED then
        dw := GetLastError;
    end
    else // TerminateProcess = 0
      dw := GetLastError;
    CloseHandle(hProcess);
  end
  else // hProcess = INVALID_HANDLE_VALUE
    dw := GetLastError;
  result := dw;
end;

Ich beendet Taskmanager, aber der Symbol ist immer noch zusehen, Sie bild.
Angehängte Grafiken
Dateityp: bmp 001_105.bmp (31,6 KB, 24x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#2

Re: Taskbeenden und die Startleiste. (Symbol wird angezeigt)

  Alt 2. Jul 2006, 14:56
Mal mit Hier im Forum suchenInvalidateRect versuchen ...

Florian
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
Karstadt

Registriert seit: 8. Nov 2005
788 Beiträge
 
#3

Re: Taskbeenden und die Startleiste. (Symbol wird angezeigt)

  Alt 2. Jul 2006, 15:06
Delphi-Quellcode:
procedure RepaintWnd(Window: hWnd);
begin
  InvalidateRect(Window, nil, True);
  UpdateWindow(Window);
  RedrawWindow(Window, nil, 0, RDW_FRAME or RDW_INVALIDATE or RDW_UPDATENOW or RDW_ALLCHILDREN);
end
was muss ich als WINDOW: hWND übergeben? mit 0 funktionier gda nicht...
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#4

Re: Taskbeenden und die Startleiste. (Symbol wird angezeigt)

  Alt 2. Jul 2006, 15:16
Das Handle des Windows das du mit der Function FindWindow bekommst.

Handle := Findwindow(nil,'Fenster.Caption'); also z.B so etwa:

Delphi-Quellcode:
var h: Hwnd;
begin
H := Findwindow(nil,'Windows Task-Manager');
RepaintWnd(h);
end;
Gruß
Neutral General
Michael
  Mit Zitat antworten Zitat
Karstadt

Registriert seit: 8. Nov 2005
788 Beiträge
 
#5

Re: Taskbeenden und die Startleiste. (Symbol wird angezeigt)

  Alt 2. Jul 2006, 15:35
In diesen Fall benötige ich nicht den Taskmanager sondern Taskleiste, da ich diesen Objekt aktualliesern will, nach dem ich Taskmanager beendet habe.

...nun muss ich rausfinden wie ich dieses Objekt ansprechen kann?

wnd := Findwindow(nil,'Takleiste');


RepaintWnd(wnd);
  Mit Zitat antworten Zitat
Karstadt

Registriert seit: 8. Nov 2005
788 Beiträge
 
#6

Re: Taskbeenden und die Startleiste. (Symbol wird angezeigt)

  Alt 2. Jul 2006, 15:38
hier ist mein Projekt. schaut euch das an. Versucht den Taskmanager zu beenden und schaut euch die Windowsleiste an.
Angehängte Dateien
Dateityp: rar neuer_ordner__2__203.rar (187,9 KB, 6x aufgerufen)
  Mit Zitat antworten Zitat
Karstadt

Registriert seit: 8. Nov 2005
788 Beiträge
 
#7

Re: Taskbeenden und die Startleiste. (Symbol wird angezeigt)

  Alt 2. Jul 2006, 16:11
das funktioniert nicht

Delphi-Quellcode:
  wnd := FindWindow('Shell_TrayWnd', nil);
  RepaintWnd(wnd);
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.336 Beiträge
 
Delphi XE2 Professional
 
#8

Re: Taskbeenden und die Startleiste. (Symbol wird angezeigt)

  Alt 2. Jul 2006, 16:22
Hallo,

ich finde das Handle des SysTray so raus:

Delphi-Quellcode:
  //Handler des SysTray mit dem SysTray-Namen rausfinden
  hWnd := FindWindowEx(FindWindow('Shell_TrayWnd', nil), 0, 'TrayNotifyWnd', nil);
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
Karstadt

Registriert seit: 8. Nov 2005
788 Beiträge
 
#9

Re: Taskbeenden und die Startleiste. (Symbol wird angezeigt)

  Alt 2. Jul 2006, 18:46
..das funktioniert nicht. Der ICON ist immer noch zusehe, obwohl dieser Prozess beendet wurden.

Kann jemand dieses Verhalten bei sich bestätigen?


Problematik: nach beenden des Prozesses taskmgr.exe bleibt der Icon immer noch in Tray sichtbar. Erst wenn ich mit maus über diesen ICON gehe, verschwiendet dieser.

Warum?
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#10

Re: Taskbeenden und die Startleiste. (Symbol wird angezeigt)

  Alt 2. Jul 2006, 18:49
Mit der Unit madKernel kann man die TrayIcons jedes Prozesses auslesen und auch entfernen lassen.

Florian
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:00 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz