带图形界面的windows服务程序在Win2003下的问题

equn93 2011-10-07 02:38:45
我用delphi7做了一个有图形界面的windows服务程序
允许服务与桌面交互(Interactive设置为True)
在XP上运行没有任何问题 也能看到界面
在WIN2003上看不到界面 但在进程可以看到程序在运行
这是什么原因

以下是部分代码

procedure TSvrTest.ServiceStart(Sender: TService; var Started: Boolean);
begin
Started:= True;
SvcMgr.Application.CreateForm(TfrmTest, frmTest);
frmTest.Show;
end;

procedure TSvrTest.ServiceStop(Sender: TService; var Stopped: Boolean);
begin
Stopped:= True;
if frmMain<>nil then
FreeAndNil(frmMain);
end;

frmTest就是一个空的窗体,除了加了个托盘的控件,还没有其他任何逻辑实现。
...全文
264 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
equn93 2011-11-10
  • 打赏
  • 举报
回复
杯具啊,看来无法解决了,结帖!
equn93 2011-10-18
  • 打赏
  • 举报
回复
等了这么久,还没有解决啊,哪个好心人帮帮忙,指点一下。
equn93 2011-10-13
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 book_strikeeagle 的回复:]
其实做这种有图形界面的Service,完全可以参考delphi自带的一个例子
C:\Program Files\Borland\Delphi7\Source\Vcl\ScktSrvr.dpr
[/Quote]
我试了一下,结果还是一样的,服务启动后,在XP系统上可以看到界面,WIN2003上就看不到。
不过仍然很感谢你!
book_strikeeagle 2011-10-13
  • 打赏
  • 举报
回复
其实做这种有图形界面的Service,完全可以参考delphi自带的一个例子
C:\Program Files\Borland\Delphi7\Source\Vcl\ScktSrvr.dpr

equn93 2011-10-08
  • 打赏
  • 举报
回复
怎么人这么少?
yh16008262 2011-10-08
  • 打赏
  • 举报
回复
frmTest就是一个空的窗体,除了加了个托盘的控件,还没有其他任何逻辑实现。
用timer控制显示好了
yh16008262 2011-10-08
  • 打赏
  • 举报
回复
啊,对了,我是用一个trayicon,在他的事件中控制界面显示的。
yh16008262 2011-10-08
  • 打赏
  • 举报
回复
如果是随机启动的服务,你进入你的界面之前,就已经CreateForm了
所以你登陆之后,还需要在控制一次formshow

1,184

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧