在windows编程中,有很多时候会遇到需要检查某些程序是否结束的问题。
如果是单用户服务,直接使用foreach (Process clsProcess in Process.GetProcesses())
默认遍历所有用户的所有进程。
但是如果涉及到远程桌面服务器的程序,咋需要增加限制,仅检查当前登录用户的进程,避免多用户同时登录的时候对检查结果产生错误的影响。这时候需要使用SID即Process.SessionID。
例如:A,B两个用户均远程一台电脑服务器。A打开某程序,B同时也打开某程序,则使用默认方法检查进程是否存在的则不可用,会出现错误的结果。需要用到Sid做判断。
具体的使用方法可以参考我的资源:http://download.csdn.net/download/qq_39956515/10111822