我写了一个 Service Application 程序,采用如下代码 打开一个窗口:(允许服务与桌面交互 已经打上 √)procedure Txxxxx.ServiceStart(Sender: TService;
var Started: Boolean);
begin
CoInitialize(nil); Started := True;
Svcmgr.Application.CreateForm(TyyyFrm, yyyFrm);
g_bCanClose := False;
yyyFrm.Show;
end;
在 XP 下,启动此服务时,能正常显示 窗口。
在 Win Server 2008下 (允许服务与桌面交互 也已经打上 √),启动服务时,我的程序窗口不出来,却出现如下界面:点击 “显示消息” 会出现另一个界面,在那上面能看到我程序的 窗口,但是它并不是显示在桌面上...(是在另一个桌面上??服务程序专有的桌面??)
如何能让我的 窗口 显示到桌面上??
var Started: Boolean);
begin
CoInitialize(nil); Started := True;
Svcmgr.Application.CreateForm(TyyyFrm, yyyFrm);
g_bCanClose := False;
yyyFrm.Show;
end;
在 XP 下,启动此服务时,能正常显示 窗口。
在 Win Server 2008下 (允许服务与桌面交互 也已经打上 √),启动服务时,我的程序窗口不出来,却出现如下界面:点击 “显示消息” 会出现另一个界面,在那上面能看到我程序的 窗口,但是它并不是显示在桌面上...(是在另一个桌面上??服务程序专有的桌面??)
如何能让我的 窗口 显示到桌面上??
解决方案 »
- 求2的补数,谁知道?
- (高分急等结果!!!)如何成批倒入特定类型文件
- 关于TreeView为什么不能使用TreeView1.Items.Item[0].Expand(False)来展开第一节
- 使用delphi里提供的ADO组件开发数据库都需要看什么?
- 如何在IE的工具栏增加自己的软件按扭, 就像FLASHGET 等,安装后就会在IE工具栏有个图标
- TStringField是怎么定义出来的?
- delphi 编写一个采集网页遇到问题 求救
- ODBC方式连接 DB2 9.1+FIX3 问题 [IBM][CLI Driver] CLI0125E 函数顺序错误。 SQLSTATE=S1010
- 线程的问题,谁能帮我呢
- 问个动态库声明的问题,C#声明,转成DELPHI声明
- 如何动态创建子窗体
- 变参数组传递问题。
微软建议的标准方式是把service和GUI部分分开,GUI部分作为一个单独的程序做成自启动方式,然后service和它采用某种方式做进程间通讯,比如使用socket或者命名管道。