有一个程序,我需要判断它是否已经打开当程序打开的时候,我需要做一些事情,关闭的时候,需要做另一些事情这个应该用委托和事件吧?具体点儿应该写呢,看了下委托和事件,还是云里雾里的。

解决方案 »

  1.   

    程序中查找线程,看看是否打开,之后执行相关操作。
     Process[] pro= Process.GetProcesses();  
      

  2.   



    就是说事件触发只能在一个程序内部使用,当需要对其他程序进行判断的时候,只能遍历进行判断了对吧?那我是不是要用个timer?来循环进行判断呢
      

  3.   

    嗯,直接循环检查,太耗CPU了;简单的办法是加个Timer,建议你先这样练练手;更高级点儿的是开线程,后台悄悄地干,主线程在前台就可以做其它冠冕堂皇的事儿。
      

  4.   

    我的意思就是加个timer,每隔一段时间来查一下至于线程还是有点儿云里雾里的。另外我用查句柄来判断程序是否打开可不可以???
      

  5.   

    正是!句柄是专业说法,程序名称是通俗称谓。另外,VS有个SPY++的自带工具,可以用于查看你那个程序的句柄。
      

  6.   


    工作时间没法上qq啊。郁闷。
    如果可以的话麻烦发到邮箱吧,[email protected]
    感激不尽啊!!!