Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Programm Registrieren?! (https://www.delphipraxis.net/117772-programm-registrieren.html)

J Kadison 24. Jul 2008 14:46


Programm Registrieren?!
 
Hallöle!
Man kann doch bei Delphi Hotkeys so registrieren, dass wenn sie gedrückt werden eine bestimmte Prozedur ausgeführt wird.
Gibt es soetwas eigentlich auch für Prozesse?

Also dass ich den Prozess 'winamp.exe' in meinem Programm registriere und sobald der Prozess (in windowsumgebung) gestartet wird, führt mein eigenes Programm eine zugewiesene Prozedur aus?!

Geht das?!

Apollonius 24. Jul 2008 14:51

Re: Programm Registrieren?!
 
Direkt geht das nicht, es gibt aber diverse mehr oder weniger schöne Lösungen:
1. Die einfache, aber unperformante: In einem Timer alle Prozesse mit der Tool-Help-API auflisten und nachschauen, ob der gesuchte darunter ist.
2. Die schmutzige: CreateProcess(AsUser)(W) hooken
3. Die spezielle: Einen Shellhook installieren. Dies funktioniert nur, wenn du den Titel eines Hauptfensters kennst.
Diese Auflistung ist natürlich ohne Anspruch auf Vollständigkeit.

J Kadison 24. Jul 2008 14:54

Re: Programm Registrieren?!
 
Hey Erst mal danke für die schnelle antwort!

wie geht das denn mit dem 3. (ShellHook) ???

Weil der Titel in meinem Fenster ist immer Gleich

Apollonius 24. Jul 2008 14:59

Re: Programm Registrieren?!
 
Dafür musst du mit MSDN-Library durchsuchenSetWindowsHookEx einen Hook des Typs WH_SHELL installieren. Die Hook-Prozedur muss in einer DLL liegen, die du zusammen mit der Exe ausliefern musst.
Insgesamt brauchst du für diese Lösung etwas Einarbeitungszeit. Wenn du dir das zutraust, solltest du dir auch mal das Hook-Tutorial von Assarbad anschauen.

J Kadison 24. Jul 2008 20:20

Re: Programm Registrieren?!
 
Hmmmm okay dann werd ich mal schauen aber ich befürchte ich nehm dann doch lieber die variante mim Timer is einfacher zu realisieren DAKESCHÖN !!!


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:08 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz