AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Algorithmen, Datenstrukturen und Klassendesign Delphi Programm für schließung eines Programes in der Taskleiste rechts neben der Uhr
Thema durchsuchen
Ansicht
Themen-Optionen

Programm für schließung eines Programes in der Taskleiste rechts neben der Uhr

Ein Thema von marco1204 · begonnen am 25. Jan 2011 · letzter Beitrag vom 30. Jan 2011
Antwort Antwort
Seite 1 von 5  1 23     Letzte »    
marco1204

Registriert seit: 24. Jan 2011
20 Beiträge
 
#1

Programm für schließung eines Programes in der Taskleiste rechts neben der Uhr

  Alt 25. Jan 2011, 20:22
Ich würde gern ein Delphiprogramm erstellen, mit dem ich ein Programm schließe. Das Problem: es soll ein Programm untern rechts in der Spalte sein, also keins was offen ist, sondern halt dort neben der Uhr (kp wie man das nennt)
Ich habe es soweit geschafft:
Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ShellApi, ExtCtrls, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Panel1: TPanel;
    Button2: TButton;
    procedure Button2Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
  ShellExecute(Application.Handle,'open','TripoX Keybinder 0.1a.exe',''{Parameter},'Keybinder\',SW_SHOW);
  Panel1.Visible:=true
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  SendMessage(FindWindow(nil,'TripoX Keybinder 0.1a.exe'),WM_CLOSE,0,0);
  Panel1.Visible:=false;
end;

end.
Zur Erklärung:
Bei Button1Click wird das Programm gestartet, welches sich in einem Unterordner befindet. Funktioniert Einwandfrei
Bei Button2Click will ich, dass es das Programm wieder schließt, doch es ist ja nicht offen sondern nur in der Leiste als Symbol unten Rechts.
Wie lautet der Befehl, das er von dort ein Programm schließt?
Danke im Vorraus
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: Programm für schließung eines Programes in der Taskleiste rechts neben der Uhr

  Alt 25. Jan 2011, 20:29
Das ist der Tray somit such mal nach TrayIcon
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
marco1204

Registriert seit: 24. Jan 2011
20 Beiträge
 
#3

AW: Programm für schließung eines Programes in der Taskleiste rechts neben der Uhr

  Alt 25. Jan 2011, 20:34
und wie gehts das??
Mit:SendMessage(TrayIcon(nil,'TripoX Keybinder 0.1a.exe'),WM_CLOSE,0,0); gehts irgendwie nicht.
und Google hilft irgendwie auch ni.
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

AW: Programm für schließung eines Programes in der Taskleiste rechts neben der Uhr

  Alt 25. Jan 2011, 20:38
und wie gehts das??
Mit:SendMessage(TrayIcon(nil,'TripoX Keybinder 0.1a.exe'),WM_CLOSE,0,0); gehts irgendwie nicht.
und Google hilft irgendwie auch ni.
Ja das doofe google, nie steht da was, da bimmelt auch keine Glocke und vorgekaut wird da auch nix
Bei Google suchenDelphi TrayIcon
und hier im Forum auch nix
Hier im Forum suchenTrayIcon
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von cookie22
cookie22

Registriert seit: 28. Jun 2006
Ort: Düsseldorf
936 Beiträge
 
Delphi XE2 Professional
 
#5

AW: Programm für schließung eines Programes in der Taskleiste rechts neben der Uhr

  Alt 25. Jan 2011, 20:53
Ich würde gern ein Delphiprogramm erstellen, mit dem ich ein Programm schließe. Das Problem: es soll ein Programm untern rechts in der Spalte sein, also keins was offen ist, sondern halt dort neben der Uhr (kp wie man das nennt)
Ich habe es soweit geschafft:
Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ShellApi, ExtCtrls, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Panel1: TPanel;
    Button2: TButton;
    procedure Button2Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
  ShellExecute(Application.Handle,'open','TripoX Keybinder 0.1a.exe',''{Parameter},'Keybinder\',SW_SHOW);
  Panel1.Visible:=true
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  SendMessage(FindWindow(nil,'TripoX Keybinder 0.1a.exe'),WM_CLOSE,0,0);
  Panel1.Visible:=false;
end;

end.
Zur Erklärung:
Bei Button1Click wird das Programm gestartet, welches sich in einem Unterordner befindet. Funktioniert Einwandfrei
Bei Button2Click will ich, dass es das Programm wieder schließt, doch es ist ja nicht offen sondern nur in der Leiste als Symbol unten Rechts.
Wie lautet der Befehl, das er von dort ein Programm schließt?
Danke im Vorraus
Nur weil du das Fenster nicht siehst, heißt es ja nicht, dass es nicht da ist. Das Fenster ist unsichtbar solange die Anwendung im Tray ist.
Gruß
Cookie
  Mit Zitat antworten Zitat
marco1204

Registriert seit: 24. Jan 2011
20 Beiträge
 
#6

AW: Programm für schließung eines Programes in der Taskleiste rechts neben der Uhr

  Alt 25. Jan 2011, 21:02
ja das ich das fenster nis ehe ist ja klar. Problem ist bloß, das es trotzdem mit dem befehl den ich momentan hbe nicht funktioniert
  Mit Zitat antworten Zitat
Benutzerbild von Aphton
Aphton

Registriert seit: 31. Mai 2009
1.198 Beiträge
 
Turbo Delphi für Win32
 
#7

AW: Programm für schließung eines Programes in der Taskleiste rechts neben der Uhr

  Alt 26. Jan 2011, 01:18
Liefert ShellExecute kein Handle zum Fenster?

Edit: Oder schlimmstenfalls per CreateProcess & TerminateProcess arbeiten
das Erkennen beginnt, wenn der Erkennende vom zu Erkennenden Abstand nimmt
MfG
  Mit Zitat antworten Zitat
Benutzerbild von vergessen
vergessen

Registriert seit: 29. Jun 2010
85 Beiträge
 
Delphi 5 Professional
 
#8

AW: Programm für schließung eines Programes in der Taskleiste rechts neben der Uhr

  Alt 26. Jan 2011, 04:29
Ist "TripoX Keybinder 0.1a.exe" von Dir?

Falls JA, kannst Du mit FindWindow nicht nur nach der Titelzeile des (unsichtbaren) Fensters suchen lassen!

Schau' Dir mal die Hilfe zu FindWindow GENAUER an

Und "SendMessage" lieber nicht benutzen, besser "PostMessage"!

Statt "WM_CLOSE" würde ich eher "SC_CLOSE" verschicken

So ungefähr in der Art: PostMessage(AnDasGefundeneHandle, wm_syscommand, sc_close, 0);

MfG
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

Registriert seit: 16. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#9

AW: Programm für schließung eines Programes in der Taskleiste rechts neben der Uhr

  Alt 26. Jan 2011, 10:31
Und dann gäbe es auch noch PsKill.exe von Microsoft (ehemals SysInternals).
Damit kann man recht bequem alle möglichen Programme abschiesen.
Es würde ausreichen PsKill über eine simple Batchdatei zu starten ohne Delphi zu bemühen.

Sowieso kann man mit Delphi vieeeeel interessantere (und produktivere) Dinge machen, als nur einen Prozess zu killen.
Das Destruktive kann man ruhig einer Batchdatei überlassen.
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#10

AW: Programm für schließung eines Programes in der Taskleiste rechts neben der Uhr

  Alt 26. Jan 2011, 12:59
Und "SendMessage" lieber nicht benutzen, besser "PostMessage"!
Noch besser ist PostThreadMessage. PostMessage und SendMessage funktionieren nicht zwischen Desktops. Und dann hat man das Problem wie bei Acrobat Reader wo sich nichts tut wenn meine eine PDF per Doppelklick öffnen will nur weil auf einem anderen Desktop bereits der Acrobat Reader geöffnet ist. Nichtmal in dem bereits geöffnetem Reader wird die Datei geöffnet.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 5  1 23     Letzte »    


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 04:29 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