Window 服务调用Exe文件
我已经做了一个Window服务 在服务启动的时候 会调用一个Exe文件
这个Exe文件我是有给它做一个托盘的
在进程中我的服务启动了,通过测试 我知道我的Exe文件也运行了,但是在右下角看不到Exe文件运行中的托盘,该如何解决呢,才可以看见Exe文件的托盘呢??
问题点数:20、回复次数:8Top
1 楼copico(北北)回复于 2006-07-03 15:23:15 得分 10
windows服务掉用的exe启动后是后台运行,并不会显示有form的界面Top
2 楼CJH_MSTOP(我在静候佳音,你呢?是否相反?)回复于 2006-07-03 15:34:21 得分 0
登录之前服务已启动. 启动时连任务条都还没有.怎样可能放托盘里?Top
3 楼mmla(标准菜鸟)回复于 2006-07-03 15:41:16 得分 0
路過Top
4 楼zifeng_86188281()回复于 2006-07-03 16:51:57 得分 0
To:copico(一路向北)
那用什么方法 Exe文件可以前台运行呢?
我在服务启动的时候调用 Shell函数 代码如下:
Protected Overrides Sub OnStart(ByVal args() As String)
' 在此处添加启动服务的代码。此方法应设置具体的操作
' 以便服务可以执行它的工作。
Shell("D:\KC工作\项目文件\数据备份\数据备份\bin\数据备份.exe")
End Sub
Top
5 楼snwxf(是我.xinitrc"找女朋友的难度绝对远远高于写一个数据流设计文档")回复于 2006-07-03 16:59:59 得分 0
关注这个问题,我也碰到了同样的问题Top
6 楼CCL(013)回复于 2006-07-03 17:10:49 得分 10
应该是要在服务注册的时候启用“允许与桌面交互”,并且检测到相应用户登录事件之后再执行托盘程序,就可以了。
以前做过这个应用,但是那是很久了,细节不是非常清晰,大概如上所述。Top
7 楼zifeng_86188281()回复于 2006-07-03 17:18:09 得分 0
To CCL(013)
小弟愚钝 看的不是很明白 问题如下:
1 怎么在服务注册的时候启用 "允许与桌面交互"
2 检测到相应用户登录事件之后再执行托盘程序 ?? 这个能说得再明白些吗??Top
8 楼zifeng_86188281()回复于 2006-07-04 12:00:59 得分 0
问题解决了
onstart的时候修改注册表
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\你的服务名]
代码如下
Protected Overrides Sub OnStart(ByVal args() As String)
' 在此处添加启动服务的代码。此方法应设置具体的操作
' 以便服务可以执行它的工作。
Dim lvKey As RegistryKey = Registry.LocalMachine.OpenSubKey("SYSTEM\CurrentControlSet\Services\ServiceBackup", True)
lvKey.SetValue("Type", 272)
Shell("D:\KC工作\项目文件\数据备份\数据备份\bin\数据备份.exe")
End Sub
详细请看
http://www.codeproject.com/csharp/cswindowsservicedesktop.aspTop




