Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi An alle Prozesse eine Nachricht (https://www.delphipraxis.net/45749-alle-prozesse-eine-nachricht.html)

hellarazor 11. Mai 2005 18:28


An alle Prozesse eine Nachricht
 
2. Frage :mrgreen:

Hi ist das in einem kurzen befehl möglich allen prozessen die nachricht wm_close zu senden :???:

ReDoX 11. Mai 2005 18:45

Re: An alle Prozesse eine Nachricht
 
Hi,
du holst dir die Prozesslist mit MSDN-Library durchsuchenEnumProcesses danach gehst du die Prozesslist duch und holst dir aus der PID
das handle indem du die PID aus der Prozessliste mit der von MSDN-Library durchsuchenGetWindowThreadProcessId vergleichst.
Danach eine for-schleife in der du allen Handles einen Message schickst.
Ich hoffe das ist so richtig.

Mfg ReDoX

hellarazor 11. Mai 2005 18:50

Re: An alle Prozesse eine Nachricht
 
Hi sory mit den links kann ich nicht viel anfangen alles auf Englisch :cry:

ReDoX 11. Mai 2005 19:04

Re: An alle Prozesse eine Nachricht
 
Hi,
dann kann ich dir nur das hier empfehlen und die Formsuche.

Mfg ReDoX

perle 11. Mai 2005 19:59

Re: An alle Prozesse eine Nachricht
 
Kommt drauf an , was du genau willst

vielleicht reicht für dich ja auch schon
Code:
SendMessage(HWND_BROADCAST,WM_SYSCOMMAND,SC_CLOSE,0);
Damit werden dann aber nur die Prozesse beendet, die auch sichtbare Fenster haben

Ansonsten kannste auch auf die Libraries von madshi zurückgreifen , genauer gesagt auf die madKernel.pas

dann kannste einfach so machen :
Code:
processes.close;
bzw:
processes.terminate;

hellarazor 12. Mai 2005 11:59

Re: An alle Prozesse eine Nachricht
 
@Perle

Zur 1. Methode

Geht das auch irgendwie mit wm_destroy :roll:

Zur 2. Methode

madKernel.pas

wie funktioniert das

Matze 12. Mai 2005 12:26

Re: An alle Prozesse eine Nachricht
 
Schau dir mal Das hier an.

perle 18. Mai 2005 15:26

Re: An alle Prozesse eine Nachricht
 
klar warum auch nicht

Code:
SendMessage(handle,WM_DESTROY,0,0);


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:33 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