I\'ve turned an ancient, but still useful, Delphi 5 application into an out of process COM server. I vaguely recall that there\'s a way to tell if it\'s started directly by
It seems that the exe is started with the switch "-Embedding" when started as a COM server.
I do not know whether this was available in Delphi 5, but in Delphi 2010 you can query the global ComServer object for the start mode:
if ComServer.StartMode = smAutomation then
ShowMessage('started as automation server')
else if ComServer.StartMode = smStandalone then
ShowMessage('started manually');