解决方案 »

  1.   

    全局Hook API,hook住 OpenProcess 和 TerminateProcess就可以监视到
      

  2.   

    让父进程去承载子进程,父进程捕获子进程的结束。
    可以参考:http://www.datazx.cn/Forums/it-IT/fdd61220-daf6-4e42-8daf-72d95f7903fb/action?threadDisplayName=c&forum=visualcshartzhchs
      

  3.   

    winform 可以用CloseReason了解部分程序关闭的原因:
            protected override void OnFormClosing(FormClosingEventArgs e)
            {
                using (StreamWriter sw = new StreamWriter(@"C:\Test.txt", true)) {
                    sw.WriteLine(DateTime.Now.ToString() + "    " + e.CloseReason.ToString());
                }            base.OnFormClosing(e);
            }
    对于用任务管理器来结束进程,在xp(32位)和win7(64位)测试成功,但昨晚用win8.1(64位)测试失败,如果是用win8.1(or win8?),可以尝试用WndProc(ref Message m)方法。
      

  4.   

    对于windows系统来说,任何应用程序的进程没法保护自己不被杀掉。
    所谓的保护,都是多进程之间互相保护。
      

  5.   

    应该有的。
    你看看这个有用没。
    http://blog.csdn.net/yipanbo/article/details/40372607———————————
    c#.net qr creator
    c# barcode creator