Hi,
zum Hook:
Windows fängt alle Inputs ab und schickt sie per Event an die Programme, diese müssen sich aber davor sozusagen in eine Liste eintragen - das is im Groben ein Hook.

Gutes Tutorial gibts hier: http://www.dsdt.info/tutorials/hooks/?page=1
Alternativ befindet sich in der JEDI unter JvSystem die Komponente JvShellHook, vllt kann man mit der auch was anfagnen - is auf jedenfall einfacher wenn man nicht so gut in Pascal ist...

Das Beispiel dreht sich nur um Tastatur- und Maushooks, aber wie du siehst ist das nur Parameter abhängig, wenn es also einen Hook für den seriellen Port gibt, dann musst du nur noch den entsprechenden Parameter finden...

Viel Erfolg