首页 新闻 会员 周边

如和从Process中获取主线程和其状态,监视程序是否崩溃、死锁? c#

0
悬赏园豆:200 [待解决问题]

如题。

if (process.Responding)
可以通过这个属性来判断程序界面是否响应

但是有2种情况下,该方法无效:

1、当启动窗体的构造函数中发生阻塞或挂起时,启动窗体一直没有显示。

    process.Responding还是为true.  只有process.MainWindowHandle是IntPtr.Zero.                    这是程序异常了,但是和第二条冲突啦。

2、Application.Run(Form1);之前有些特殊处理,显示比如登陆窗口等……主窗口未显示。

  process.Responding还是为true.  process.MainWindowHandle也是IntPtr.Zero

  这应该是正常情况。
    bool ok = OnApplicationRunning();
            if (ok)
            {
                OnApplicationRan();
                Application.Run(Form1);
            }

 

如果解决这些问题,望高手赐教!

 

哎呀呀的主页 哎呀呀 | 初学一级 | 园豆:0
提问于:2010-08-26 13:57
< >
分享
所有回答(2)
0

参考这个  用C#获取进程信息

HUHU慈悲 | 园豆:9973 (大侠五级) | 2010-08-26 14:14
没用,很简单,看过的 还是感谢你
支持(0) 反对(0) 哎呀呀 | 园豆:0 (初学一级) | 2010-08-26 14:20
0

参考我以前写的几篇文章,专门讲如果监视程序死循环,挂起,未捕获异常处理和内存监视的。

http://www.cnblogs.com/eaglet/category/206379.html

eaglet | 园豆:17139 (专家六级) | 2010-08-27 08:05
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册