局域网内怎样通过IP获取其他机器的进程???
我想做个局域网控制软件,例如,老师上课可以监视到同学们有没有玩游戏……。在局域网内搜索在线IP已成功完成,但怎样通过IP获取其他机器的进程???望大侠们指点一二,最好能给出详细的思路,有代码更好!!! --------------------编程问答-------------------- 顶。没做过 --------------------编程问答-------------------- 直接获得不太可能吧!
我认为要在需要监控的机器上驻留监控软件才行!
比如“内网监控”系统! --------------------编程问答-------------------- 不可能在局域网一台电脑就获取所有电脑访问网络的进程。
需要使用CS模式,你上面有一个接收端,下面的机子全部安装客户端,客户端使用GetTcpStatistics、GetUdpStatistics实时获取本机网络连接总数,并且使用GetExtendedTcpTable、GetExtendedUdpTable获取本机所有访问网络的进程以及远程IP地址。
获取完毕开一个线程实时跟接收端通讯就行了。 --------------------编程问答-------------------- 如果不打算安装客户端也有实现的方法。前提是
局域网内计算机都打开了远程服务,通过对客户机的wmi的计数器来获得
客户机当前的系统资源和进程。
主要是使用PerformanceCounter来获得客户机的进程,
然后根据进程来判断。
performanceCounter1 = new System.Diagnostics.PerformanceCounter();
performanceCounter1.CategoryName = "Processor";
performanceCounter1.CounterName = "% Processor Time";
performanceCounter1.InstanceName = "_Total";
performanceCounter1.MachineName = SER_IP ; //客户机ip
上述方法可以获得客户机的cpu占用率。
获取进程的方法也类似,你可以百度下看看。有很多。
--------------------编程问答--------------------
LZ要求的是获取连接网络的进程以及这些进程连接的地址。。。WMI里面我记得没有能获取的。 --------------------编程问答-------------------- 楼上说的对,是我没看清楚。
使用System.Diagnostics.Process类可以启动和停止系统进程。GetProcesses函数返回了机器上正在运行的所有进程,它有两种定义,一种是用于本地机器,另一种用于远程机器。
如果想要获取本地机器上的运行进程,使用GetProcesses();否则使用GetProcesses(string machinename):
public static Process[] GetProcesses();
public static Process[] GetProcesses(string);
比如:
Process[] procList = new Process[100];
procList = Process.GetProcesses();
for ( int i=0; i<20; i++)
{
string strProcName = procList[i].ProcessName;
int iProcID = procList[i].Id;;
}
请不要忘记引用System.Diagnostic,将以下这行代码写在using列表中:
using System.Diagnostics;
通过使用Process类的方法,我们甚至可以启动、停止或取消进程。
--------------------编程问答--------------------
此方法仅能在子网,公网是不行的 --------------------编程问答-------------------- 楼主说的就是局域网。 --------------------编程问答-------------------- 帖子沉了,顶起来!!! --------------------编程问答-------------------- 那么多就没有师父您想要的结果么? --------------------编程问答-------------------- 看这里:
获取远程机器的进程信息 --------------------编程问答-------------------- -_-
这种事情,我一般就直接在命令行下面用pstools.
--------------------编程问答-------------------- 你太牛了。。这个都有。。别告诉我那些都是你自己做的。。佩服佩服啊
--------------------编程问答-------------------- 可以考虑一下windows下的WMI协议 --------------------编程问答-------------------- 11楼的高手,能不能放点代码和思路出来呀???就一个界面接受不了呀!!! --------------------编程问答--------------------
运行之后出现此错误:
应用程序中发生了无法处理的异常。如果单击“继续”,应用程序将忽略此错误并尝试继续。
如果单击退出,应用程序将立即关闭。该服务器不可操作
--------------------编程问答-------------------- 学习了 顶 --------------------编程问答--------------------
友情帮顶下!顺便学习学习!
--------------------编程问答-------------------- 原作者是个印度人,哈哈
补充:.NET技术 , C#