快速业务通道

软件看门狗:别让你的程序没有响应

作者 佚名技术 来源 程序设计 浏览 发布时间 2012-06-30
ivileges( hToken, FALSE, &tp, sizeof(TOKEN_PRIVILEGES), NULL, NULL );
   return ::ExitWindowsEx(EWX_REBOOT | EWX_FORCE, 0);
}
else
{
   return ::ExitWindowsEx(EWX_REBOOT | EWX_FORCE, 0);
}

5. 如何启动、结束其他进程

启动进程用CreateProcess,终止进程用TerminateProcess。参考代码如下:

bool CWatchDogView::RunTheSysProc()
{
   char  szPath[MAX_PATH];
   GetModuleFileName(NULL, szPath, MAX_PATH);
   CString strPath = szPath;
   strPath = strPath.Left(strPath.ReverseFind(''\\'')) + "\\HungDemo.exe";
   STARTUPINFO      StartInfo;
   PROCESS_INFORMATION  procStruct;
   memset(&StartInfo,0,sizeof(STARTUPINFO));
   StartInfo.cb = sizeof(STARTUPINFO);
   if (!::CreateProcess(
     (LPCTSTR) strPath,
     NULL,
     NULL,
     NULL,
     FALSE,
     NORMAL_PRIORITY_CLASS,
     NULL,
     NULL,
     &StartInfo,
     &procStruct))
     return false;
   return true;
}

需要提醒的是,TerminateProcess是在万不得已的情况下使用的,它不会进入进程使用的DLL的入口点通知“脱离”(Detaching)状态。有时候,这样做是很危险的(DLL内部的全局数据可能受影响较大)。

6. 如何让Win2k/NT自动登录

修改注册表。在HKEY_LOCAL_MACHINE目录下的Software\Microsoft\Windows NT\ CurrentVersion\WinLogon下的AutoAdminLogon(字符串型)设置成1,并在DefaultUserName设置默认登录用户,DefaultPassword设置默认用户的密码。

7.  如何让Win2k/NT登录成功后直接执行你的程序(而不是默认的文件浏览器)

修改注册表。在注册表HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\ CurrentVersion\Winlogon\Shell的值从原先的explorer.exe修改为自己程序的绝对路径。

三.功能演示(Win2k/NT下)

友情提醒:开始演示之前,请先将你目前的工作保存。运行“看门狗”WatchDog;同时使用Ctrl+Alt+Del打开“Windows任务管理器”。稍候片刻,可以看到目标程序HungDemo会被启动(这个程序模拟了“没有响应”)。然后,WatchDog发现这个程序“没有响应”,则把它杀掉,然后重新启动一个新的HungDemo进程。如此的处理重复六次以后,系统会自动重启。

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号