C#进程监控程序

来源:互联网 发布:mysql服务启动后停止 编辑:程序博客网 时间:2024/05/20 23:04

我现在想监控一个进程,如果这个进程在10秒钟内串口没有收到数据,然后我就关闭进程,然后再重新打开进程。请问如何实现?最好是有代码的!!多谢了!这个10秒该如何计数呢??

这个最好在进程内部去监控自身和串口的通信,而不是从进程外部去监控进程。
不能监控啊,现在监控系统都是违法的,你监控用户的进程,通过用户同意了吗?

要监控对象,首先要让对象告诉你他刚才干什么了?别人不告诉你,你怎么知道他干什么了?除非你在事件到达他那的时候先拦截,打个比方而已,你现在描述的问题就是这个样子,所以如果你要监控这个进程,肯定要有一个能取到这个进程刚才有没有收到数据的方法,然后才可以干别的,至于每隔10秒进行一个操作,你可以在进程打开的时候声明一个Timer,这是一个计时器,用这个就可以实现每隔10秒做一个检查深受360和QQ毒害,可怜的娃

这个参数是用户自己定义的,是在另一个页面中.
  比如定义 HK 20 ,HH 30 ,TestValue2 32 (HK ,HH 是用户自己定义的,跟定义变量的规则一样的)
如何使用正则判断上面的式子是正确的数据表达式呢?(这里没有小数和负数)
难整,弄成表达式树,找找有没有现成的代码
已知一个线程的ID,如何终止该线程.
我试了调用windows API的 TerminateThread 函数, 还是无法终止该线程.

线程是在当前进程内,还是在别的进程内?我说了只知道线程ID,无法获得该线程对象.

这个肯定不行的,这两函数的参数用到是句柄,想办法找到句柄...

说是无法得到任意进程的线程句柄,不知道是不是真的这样。看看下面这些对你有没有用?
如果得到了一个线程句柄,就可以利用API函数对该线程进行操作,而在拥有该线程的程序不知道的情况下可能会导致严重问题,所以Windows不允许这样做。可以使用CreateToolhelp32Snapshot、Thread32First和Thread32Next(在VC++中这几个函数定义在tlhelp32.h中。)得到所有线程的ThreadID,但没有办法从ID得到句柄,这同进程有所不同。如果真的要得到句柄,必须从线程的创建者或线程本身得到,并使两个程序协同工作。此外,应用程序可以调用DebugActiveProcess()来控制一个进程,在该进程创建线程时可以得到进程句柄。当前进程.Threads;/*获取所有线程
循环如果线程的ID等于你要找的编号就结束此线程
这样不知道行不行.
XPO.NET怎么学习?有相关资料吗或者有相关的书籍吗?

这个if语句中的session调用不成功,系统提示,未将对象引用设置到对象的实例。
参考一下这个,在一般处理程序中使用session需要做特殊的配置

strVlidCode 好像是null,用二楼的方法,在一般处理程序中没有再提示有上述的错误,一点提交那个按钮,到了if判断那里的session又开始提示同样的问题了。

这个判断之后,点击提交重新回到页面,如何将那个一般处理程序中的session值获得过来,不让判断句里的session为空呢,大虾们,帮忙解决一下。先谢谢啦,我调这个程序就session这里出问题了,很郁闷的。

你ValidCode为空就返回前一页面呗

我的目的不是让session的值为空,我的目的是让if里的语句运行。

ssion["ValidCode"]一为空,通过那个判断,下面的语句就不运行了。

小女子不才,为什么要在方法里面加个参数HttpContext context Session不是当前会话对象,只要直接使用了就可以了么?? 而且随便存个值进去都能获取到啊
里面再写上你里面的if循环 这样子不行吗?

我也觉得既然用了session为什么还要用context.session 来保存呢?直接用难道不行?

不知道楼主这个问题解决了没有,偶也遇到了,和你的问题完全一样,不是不能引用Context中Session而是前面的Session根本就不传过来。
一般处理程序中的上下文对象Context中有Session,问题在于这个Session中取不到前面页面传过来的Session值

来源:足球直播