如题.比如:qq.exe 肯定是连网进程.就是判断这个进程使没使用网络.请高手指点.

解决方案 »

  1.   

    netstat -ano 然后去获取进程列表 比较
      

  2.   

    顶下 
    用 uid 比较比较  
      

  3.   

      public static DataTable GetProcessesNetList()
            {
                System.Diagnostics.Process _DosProcess = new System.Diagnostics.Process();
                _DosProcess.StartInfo.FileName = "cmd.exe";
                _DosProcess.StartInfo.Arguments = "/C NETSTAT -ANO";
                _DosProcess.StartInfo.CreateNoWindow = true;
                _DosProcess.StartInfo.RedirectStandardOutput = true;
                _DosProcess.StartInfo.UseShellExecute = false;
                _DosProcess.Start();
                _DosProcess.WaitForExit();            string _ReturnText = _DosProcess.StandardOutput.ReadToEnd();
                string[] _ReturnList = _ReturnText.Remove(0, _ReturnText.IndexOf("PID") + 3).Trim().Split(new char[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries);
                DataTable _Table = new DataTable("Process");
                _Table.Columns.Add("Pid");
                _Table.Columns.Add("ProcessName");
                _Table.Columns.Add("Proto");
                _Table.Columns.Add("Local");
                _Table.Columns.Add("Foreign");
                _Table.Columns.Add("State");            for (int i = 0; i != _ReturnList.Length; i++)
                {
                    string[] _NetDate = _ReturnList[i].Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
                    if (_NetDate.Length == 5)
                    {
                        _Table.Rows.Add(new object[] { _NetDate[4], System.Diagnostics.Process.GetProcessById(int.Parse(_NetDate[4])).ProcessName, _NetDate[0], _NetDate[1], _NetDate[2], _NetDate[3] });
                    }
                    else
                    {
                        _Table.Rows.Add(new object[] { _NetDate[3], System.Diagnostics.Process.GetProcessById(int.Parse(_NetDate[3])).ProcessName, _NetDate[0], _NetDate[1], _NetDate[2], "" });
                    }
                }
                return _Table;
            }这个应该对你有帮助...你查询返回的_Table看看PID是否有你想要的
      

  4.   

    谢谢 zgke  除了使用netstat命令,还有别的方法吗?请zgke赐教!就算是实现不了也可以的.如果用vc的话,也是要用这种方式吗?马上结贴
      

  5.   

    另外的方法
    APIAllocateAndGetTcpExTableFromStackAllocateAndGetUdpExTableFromStack