Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » Borland C++ Builder » Externes Programm beenden?

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
04.07.2003, 20:01 Uhr
MeisterB



Gibt es einen Befehl mit dem man externe Programme beenden kann?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
04.07.2003, 21:16 Uhr
Uwe
C/C++ Master
(Administrator)


Hallo,
Handle besorgen, WM_CLOSE, WM_DESTROY abschicken.
--
"Es ist schwierig, ein Programm wirklich idiotensicher zu machen, weil Idioten so genial sind."

Bis dann...
Uwe
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
05.07.2003, 12:04 Uhr
MeisterB



Ich hab zwar mal im Forum nach Handle gesucht aber die Beispiele funktionieren nicht. Könntst du mal bitte einen Programmcode posten und ihn mit Kommentaren versehen?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
05.07.2003, 14:31 Uhr
MeisterB



Das mit dem Close und Destroy hab ich erstmal ohne das ich das Handle (hab einfach Form1 genommen) kenne getestet. Es wurde zwar vom Bildschirm entfernt aber es war immer noch im Task-Manager unter Prozesse aktiv! Woran liegt das?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
05.07.2003, 15:32 Uhr
MeisterB



Ok ok, hab jetzt das Handle mit dem Spy++ gefunden. Doch es ist mir nicht möglich das Programm zu beenden. Hab als Test mal Notpad geöffnet und dessen Handle ermittelt. Doch es passiert beim Destroy Befehl nichts!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
05.07.2003, 18:07 Uhr
Uwe
C/C++ Master
(Administrator)


Hallo,

C++:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
     HWND hWnd = FindWindow("Notepad",NULL);
     if (hWnd){
        SendMessage(hWnd,WM_CLOSE,0,0);
        SendMessage(hWnd,WM_DESTROY,0,0);
        SendMessage(hWnd,WM_NCDESTROY,0,0);
     }

}


--
"Es ist schwierig, ein Programm wirklich idiotensicher zu machen, weil Idioten so genial sind."

Bis dann...
Uwe
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
05.07.2003, 20:35 Uhr
MeisterB



Hab noch einen anderen Befehl gefunden: TerminateProcess!

Gibt es damit im Vergleich zu deinem Vorschlag irgendwelche nach- bzw. Vorteile?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
05.07.2003, 22:12 Uhr
Uwe
C/C++ Master
(Administrator)


Hallo,
unter NT Systemen mußt Du bei TerminateProcess() den/die Process(e) mit allen Zugriffsrechten öffnen.
--
"Es ist schwierig, ein Programm wirklich idiotensicher zu machen, weil Idioten so genial sind."

Bis dann...
Uwe
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
06.07.2003, 14:22 Uhr
MeisterB



Und wie mach ich das?
Dieser Post wurde am 06.07.2003 um 14:49 Uhr von MeisterB editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
07.07.2003, 19:34 Uhr
Uwe
C/C++ Master
(Administrator)


Hallo,
ups, hatte Deinen letzten Post übersehen.
http://support.microsoft.com/default.aspx?scid=KB;EN-US;Q178893&
Mehr gibt's glaube ich nicht darüber zuschreiben ....
--
"Es ist schwierig, ein Programm wirklich idiotensicher zu machen, weil Idioten so genial sind."

Bis dann...
Uwe

Dieser Post wurde am 07.07.2003 um 19:36 Uhr von Uwe editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ Borland C++ Builder ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: