我正在使用Delphi创建Windows服务.我的服务需要做的基本上是开放一个程序.在我的代码我正在使用WinExec(aux,SW_SHOWNORMAL);.当我启动并运行该服务时,似乎没有任何操作,但是当我查看TaskManager时,我的服务应该打开的程序在列表中,并且在用户名列中显示SYSTEM.
所以程序正在打开,但它没有显示在屏幕上.我在谷歌做了一项研究,发现了一些功能,CreateProcess但我不知道如何使用它.我究竟做错了什么?
抱歉我的英语不好.
我有一个在服务器上运行的Delphi应用程序.此应用程序对我的数据库执行一些关键工作,该数据库在其他应用程序中使用,并在用户登录Windows时执行.一切正常,但是,事实证明服务器的管理员有时会重新启动服务器并且不会登录到Windows.服务器保持在Windows登录状态,我的应用程序无法启动.
经过一项小规模的研究后,我决定创建一个Windows服务来启动我的应用程序甚至在用户登录Windows之前.但是,我有两种形式.一个表单显示我的应用程序正在执行的当前进程,另一个表单编辑用于配置第一个表单的.ini文件.
我需要做的是创建一个服务,在用户登录Windows之前启动我的应用程序,登录后,显示我的表单或打开它,但最小化到系统托盘.
是否可以使用此服务的Windows服务并最小化我的表格到系统托盘?
考虑这部分代码:
Try
arqTXT.LoadFromFile(LogPath);
finally
ShowMessage(" The log file could not be found. Check if the service is running. ");
end;
Run Code Online (Sandbox Code Playgroud)
在我的消息之后,出现一条系统消息,其中显示以下消息:无法打开文件"C:\ log.txt".有没有办法不显示此系统消息?
我正在使用Delphi 2010
谢谢.