做成一个服务不就行了么?比如SqlServer 你把企业管理器关掉他还是在运行

解决方案 »

  1.   

    songhtao(三十年孤独) 说的没错,估计是楼主表达有误。你可以在进程执行之前,尝试创建某个Mutex,如果创建成功,说明当前进程是唯一的实例。如果创建失败,则说明老进程仍然在运行。至于通讯和协同的方法很多,你可以用文件、管道、Socket等多种方式进行进程通讯。
      

  2.   

    1、FJGoodGood与songhtao说的不对。后台线程在主程序关闭后不会自动终止,也不会被回收。
    2、mywebcom 答非所问
    3、Jim3说的对,但能详细些吗?或者可参考的资料(书籍、网站...)?
      

  3.   

    to eagle40(老鹰) 
    如果有任何一个线程没有退出,进程是会驻留在内存里的。虽然主窗口已经关闭看不到。;。。
      

  4.   

    to FJGoodGood
    这次说的没错,有办法解决我的问题吗?
      

  5.   

    线程不能独立存在的,你看到的仅仅是进程的主窗口被关闭了,进程并没有终止,只有该进程的所有线程终止了,进程才会终止。
    你可以把需要后台运行的这部分任务做成服务(A),其余做成服务管理程序(B),A与B通过某种方式进行(Socket或进程间通讯)通讯
      

  6.   

    多谢sunyou(砂子) 的方法。我准备按你的建议试一下。