Ups, nachdem ich deine Frage nochmal durchgelesen habe, ist mir plötzlich klar geworden, dass ich dich falsch verstanden habe. Sorry.
Zum Thema:
Diese programm reagieren auf die Windows-Botschaft WM_QUERYENDSESSION (Denke ich zumindest, weil ich das auch so mache).
In desn Programm hat der Programmierer dann eine Procedure
(procedure WMSysCommand(var Message: TWMQueryEndSession); message WM_QUERYENDSESSION
,
die dann das Programm varanlasst, sich tatsächlich zu beenden, um nicht den Windows-Shutdown zu behindern.
Jetzt mußt du nur eine soche Botschaft generieren, die dann aber nur an das zu beendende Programm schicken.
Wie und ob das geht, weiß ich aber auch nicht.
Vielleicht hilft dir der Ansatz.