1、我用的工具是vs6,不是c#,不知道两者有什么差别2、如何让Service定时的做某件事情?比如,每过15分钟监测一下内存的使用量。3、Service和用户之间如何互通信息?比如,我把监测的频率改为20分钟,如何把这个改变通知Service。当Service发现内存有异常时,又如何通知给用户。我没有编过Service的程序,请大家多帮帮忙,分一定多给。最好有一些Service的例子程序。

解决方案 »

  1.   

    答:1. 两者写出来 service 与windows os 交互时是无差别的.但vc你得利用原始的api,而c#为你封装好了,在你看不到的时候,exe成了service, 但最终c#的程序也是要调用原始的api
    2.  这涉及到定时器.c# 我不懂.vc 中你可以用
    window timer: SetTimer
    内核定时器: CreateWaitableTimer
    等待方法:  MsgWaitForMultipleObjects但决不能用    Sleep, .因为你的线程要在任何时刻接收服务控制消息.用这个函数你的线程收不到任何消息.3. 与用户交互是为了定制service. 可以让service 创建ui, 但这不是推荐的方法.用进程间通信可以.比如线程消息队列,管道等.你创建另一个service管理程序与service通信.
      

  2.   

    谢谢 realdreamer(楼主英明,贫僧久仰大名,特来拜见)  第1、2个问题我大概已经明白了
    关于第3个问题,我不光是为了定制service,我还要让service实时的向用户报告情况(事件驱动的)。您的意思是建立一个GUI的进程与Service通信吗?
      

  3.   

    不好意思, 很久没看了. "您的意思是建立一个GUI的进程与Service通信吗"就是这个意思. 两个程序都是你自己写的, 只要你对WINDOWS系统进程间通信很熟, 那你就可以任意在你自己写的两个程序间通信. 这不难. 另外不要用您字, 怪别扭的.
      

  4.   

    http://www.e-lining.com/member/myGuestOrderSearch.htm?reset=true
      

  5.   

    请教高手,我是菜鸟,初试,有很多疑问,请问能否具体讲解一下,用C#怎样建立Windows Service可以在WIndows任务管理器中可查看的进程(具体有三块儿程序进程进行相互通讯),并通过服务建立的进程之前进行通讯,以实现WIndows Service之前的通讯,谢谢高手,由于时间不够,资源捉襟见肘,问题着实有些棘手,偶遇强大版主高手,踌躇满志望支援帮手,感激涕零。