CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C++ 语言

进程检测程序

楼主chenzhichao2008(陈智超)2005-06-02 11:52:40 在 C/C++ / C++ 语言 提问

最近写一个进程检测程序  
  测试时   打开其他一个程序    
  如果打开成功      
          该检测程序一切正常  
  如果失败   将出现以下错误  
          "0x77e8d6f4"指令引用的"0x00000000"内存。该内存不能为"read"  
   
  现在我以经查出错误的位置   在于    
  hModuleSnap   =   CreateToolhelp32Snapshot(TH32CS_SNAPMODULE,   dwPID);    
  但不知道要怎么解决   我用了异常处理   没有办法捕获到异常  
   
  BOOL   CScanProcess::getProcessModule   (DWORD   dwPID,   DWORD   dwModuleID,  
            LPMODULEENTRY32   lpMe32,   DWORD   cbMe32)  
  {  
          BOOL                     bRet                 =   FALSE;  
          BOOL                     bFound             =   FALSE;  
          HANDLE                 hModuleSnap   =   NULL;  
          MODULEENTRY32   me32                 =   {0};  
          try  
          {  
                  cout<<"before..............."<<dwPID<<endl;  
                  //创建快照    
                  hModuleSnap   =   CreateToolhelp32Snapshot(TH32CS_SNAPMODULE,   dwPID);  
                  cout<<"after..............."<<endl;  
                   
          }  
          catch(std::exception   &e)  
          {  
                  cout<<"catch   ..........."<<endl;  
                  getch();  
          }          
          catch(unsigned   &exception)  
          {  
                  cout<<"catch2   ..........."<<endl;  
                  getch();  
          }        
          if   (hModuleSnap   ==   INVALID_HANDLE_VALUE)  
                  return   (FALSE);  
          //快照大小    
          me32.dwSize   =   sizeof(MODULEENTRY32);  
          if   (Module32First(hModuleSnap,   &me32))  
          {  
                  do  
                  {      
                                  CopyMemory   (lpMe32,   &me32,   cbMe32);  
                                  bFound   =   TRUE;  
                  }while   (!bFound   &&   Module32Next(hModuleSnap,   &me32));  
                  bRet   =   bFound;        
                                                     
          }  
          else  
                  bRet   =   FALSE;                      
           
          //关闭    
          CloseHandle   (hModuleSnap);  
          return   (bRet);  
  }  
   
  问题点数:100、回复次数:7Top

1 楼chenzhichao2008(陈智超)回复于 2005-06-02 11:55:32 得分 0

我c++的异常处理了解很少  
  也许异常处理有误  
  哪位朋友帮忙一下   谢谢  
  Top

2 楼chenzhichao2008(陈智超)回复于 2005-06-02 11:56:50 得分 0

请不要用VC的异常处理  
  Top

3 楼oyljerry(【勇敢的心】→ ㊣提拉米苏√㊣)回复于 2005-06-02 14:01:32 得分 20

CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,   0);Top

4 楼zhousqy(标准C匪徒)(甩拉,甩拉)回复于 2005-06-02 14:21:47 得分 20

学习。Top

5 楼healer_kx(甘草(楼主揭贴吧,我们这些上班灌水的也不容易))回复于 2005-06-02 14:26:19 得分 20

少用异常,异常本身可能比异常还有更多的异常。。。Top

6 楼wosirius(神经第六)回复于 2005-06-02 15:02:04 得分 20

mTop

7 楼mostideal(三甲)回复于 2005-06-03 00:21:10 得分 20

markTop

相关问题

  • vc控制台程序怎样检测获得进程的状态
  • 我想要编写一个程序能够检测到当前系统下所有的进程
  • 用java程序怎样实现检测unix中的某个进程正在运行,本人急用,先谢了
  • 我自己编写的一个关机程序遇到点问题,需要检测进程。希望哪个大虾帮我一下,急用
  • 请问如何检测一个程序是否在进程中,如何在将指定URL中的文件下载到指定路径
  • 关于进程状态的检测!
  • 用什么检测一个安装程序都安装了什么文件,安装到什么部位,自动运行了什么程序,启动了什么进程等等?
  • 硬盘检测程序问题。
  • 怎样检测程序依赖的DLL?
  • 求一段日期检测程序

关键词

  • 检测
  • 内存
  • 进程检测程序
  • hmodulesnap
  • dwpid
  • 异常
  • 错误
  • 打开
  • bool
  • dword

得分解答快速导航

  • 帖主:chenzhichao2008
  • oyljerry
  • zhousqy
  • healer_kx
  • wosirius
  • mostideal

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo