我需要编写一个软件是开机启动的,但是其他用户登录时不会启动这个软件!!
像安装软件时,可以选择当前用户可用,其余的用不了!
请问要怎么做比较好呢!!!

解决方案 »

  1.   

    写成服务,并设置为自动启动。安装类里override void OnCommitted(IDictionary savedState),调用ServiceController带参数启动它。在服务的OnStart中判断参数,有参数时(安装后第一次启动)就获取当前用户名,写入配置文件或数据库中。
    没有参数(机器重启后自动启动)时,拿取到的用户名与先前保存的用户对比,不对劲就直接调用OnStop()停搞服务
      

  2.   

    在服务中重写
    override void OnSessionChange(SessionChangeDescription changeDescription)
    {
        if(changeDescription == SessionChangeReason.SessionLogon && 用户名不相同
        {
            this.Stop();
        }     
    }