В общем случае возможно иметь смешанный отдельный исполняемый файл, который, в свою очередь, работает как служба или работает как полноценное стандартное приложение с графическим интерфейсом.
Сколько усилий требуется приложению, чтобы соответствовать этой категории, зависит от того, как оно спроектировано, особенно в том виде, в каком оно связано между бизнес-логикой и логикой пользовательского интерфейса.
Один замечательный пример такого рода приложения поставляется с самим Delphi: scktsrvr.exe в вашем каталоге $ DELPHI \ bin работает как приложение с графическим интерфейсом или как служба (запустите scktsrvr.exe / install для auto -регистрация службы и использование консоли управления для запуска / остановки.
В папке $ DELPHI \ source \ db вы найдете файлы проекта (scktsrvr.dpr / res, ScktCnst.pas, ScktMain.pas / dfm). Не торопитесь, чтобы проверить, как это делается и, кто знает ... может быть, это то, что вы ищете для своего приложения.
Примите во внимание, что в Windows Vista интерактивным службам запрещено взаимодействовать с пользователем на его рабочем столе. Администратор должен включить обнаружение интерактивных сервисов , а пользователь должен перейти на рабочий стол сеанса 0, чтобы взаимодействовать с вашим сервисом (взаимодействовать это означает видеть и взаимодействовать с вашими сервисными формами)