WinService相关技术,请指教,谢谢!

BigAngell 2010-10-26 01:59:05
需求如下:
我做了一个Windows服务程序,运行后会在任务栏显示一个图标,通过任务栏图标的快捷菜单可以打个一个参数设置窗体,我在Windows服务管理中运行、停止、暂停等都正常。

问题是:
Windows重启后,会报告一个地址错误,我的估计是因为Windows还没有用户登录,这个时候创建任务栏图标或窗体失败导致的,请问如何解决(比如等待Windows用户登录后再创建图标,但如何判断是否登录呢)?

或者请指教其它的服务程序写法?最好是有一套完整的解决方案。

谢谢,感激!
...全文
122 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
BigAngell 2010-10-30
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 sqldebug_fan 的回复:]
很多软件都是用两个程序来解决这个问题的,服务先于桌面加载,如果这时创建桌面托盘图标就会报错,很多软件做法都是一个后台服务,一个桌面程序,在服务中 用时钟来判断是否桌面是否启动了,如果启动了就再启动你的桌面程序,也可以把桌面程序做成自动启动的。

SQLServer就是这么做的。
[/Quote]

谢谢,如何判断桌面是否已经启动呢, 有没有相关代码?
learning8899 2010-10-30
  • 打赏
  • 举报
回复
学习一下
SQLDebug_Fan 2010-10-28
  • 打赏
  • 举报
回复
很多软件都是用两个程序来解决这个问题的,服务先于桌面加载,如果这时创建桌面托盘图标就会报错,很多软件做法都是一个后台服务,一个桌面程序,在服务中 用时钟来判断是否桌面是否启动了,如果启动了就再启动你的桌面程序,也可以把桌面程序做成自动启动的。

SQLServer就是这么做的。
BigAngell 2010-10-28
  • 打赏
  • 举报
回复
有人帮忙解决这个问题吗?
BigAngell 2010-10-27
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 kye_jufei 的回复:]

登錄動作快?怎麼個快說,難道機子一啟動就run起來了,就像瑞星一樣。。。
[/Quote]

我的意思是:
服务的启动应该还是需要时间(先后)的,我试过,如果一直停留在登录界面就会报错,稍候登进去就没有图标,服务也没启动成功;
如果马上登录就不会报错,然后就可以看到创建的任务栏图标和窗体。
kye_jufei 2010-10-27
  • 打赏
  • 举报
回复
登錄動作快?怎麼個快說,難道機子一啟動就run起來了,就像瑞星一樣。。。
BigAngell 2010-10-26
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 kye_jufei 的回复:]

(首先,windows服務程序是不用登錄直接進系統執行的)可能是你的代碼有問題,貼出來看看。。。
也可以參考這裡:  http://topic.csdn.net/u/20091012/14/18e35df9-d654-4787-bc68-ebf5855aee3b.html
[/Quote]

但是:如果我登录动作够快(我的服务尚未执行)就不会有这样的问题。
kye_jufei 2010-10-26
  • 打赏
  • 举报
回复
(首先,windows服務程序是不用登錄直接進系統執行的)可能是你的代碼有問題,貼出來看看。。。
也可以參考這裡:  http://topic.csdn.net/u/20091012/14/18e35df9-d654-4787-bc68-ebf5855aee3b.html

5,928

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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