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

请问这几行代码的意思

楼主frog_sea(日系版手机,给你冲绳用)2001-09-14 15:38:54 在 VC/MFC / 基础类 提问

void   HideProcess()  
  {  
  HINSTANCE   hInst   =   LoadLibrary("KERNEL32.DLL");    
  if(hInst)    
  {                          
  typedef   DWORD   (WINAPI   *MYFUNC)(DWORD,DWORD);                      
  MYFUNC   RegisterServiceProcessFun   =   NULL;            
  RegisterServiceProcessFun   =   (MYFUNC)GetProcAddress(hInst,   "RegisterServiceProcess");  
  if(RegisterServiceProcessFun)            
  {                            
  RegisterServiceProcessFun(GetCurrentProcessId(),1);            
  }            
  FreeLibrary(hInst);    
  }  
  }  
   
   
   
  其中MYFUNC和RegisterServiceProcessFun在msdn里都没找到  
  请逐行解释好么??  
     
  问题点数:10、回复次数:4Top

1 楼jiangping_zhu(娜可露露之风之刃)回复于 2001-09-14 16:00:32 得分 0

我也不懂,估计是载入KERNEL32.DLL,并调用dll的输出函数RegisterServiceProcess来将当前进程注册为服务程序。具体参数的含义就不太清楚了。我也想知道,pushTop

2 楼SingleStar(赵云)回复于 2001-09-14 16:03:06 得分 0

??  
  typedef   DWORD   (WINAPI   *MYFUNC)(DWORD,DWORD)  
  MYFUNC     是自定义数据类型(代表一个函数指针),返回值为DWORD,有两个参数都是DWORD型                      
  MYFUNC   RegisterServiceProcessFun   =   NULL;         //RegisterServiceProcessFun定义的函数指针  
  RegisterServiceProcessFun   =   (MYFUNC)GetProcAddress(hInst,   "RegisterServiceProcess");//取得hInst中RegisterServiceRrocess函数的位置,现在RegisterServiceProcessFun就是RegisterServiceRrocess函数了。  
   
  Top

3 楼cctime()回复于 2001-09-14 16:12:07 得分 10

void   HideProcess()  
  {  
  HINSTANCE   hInst   =   LoadLibrary("KERNEL32.DLL");    
  //显示载入KERNEL32.DLL动态连接库  
  if(hInst)    
  //如果成功  
  {                          
  typedef   DWORD   (WINAPI   *MYFUNC)(DWORD,DWORD);                      
  //定义一个函数类型,   注意只是个类型而已  
  MYFUNC   RegisterServiceProcessFun   =   NULL;          
  //定义一个函数变量  
  RegisterServiceProcessFun   =   (MYFUNC)GetProcAddress  
  (hInst,   "RegisterServiceProcess");  
  //取得KERNEL32.DLL动态库中的"RegisterServicePrecess"函数,   并将之赋给函数变量  
  if(RegisterServiceProcessFun)          
  //如果取得的函数有效  
  {                          
  RegisterServiceProcessFun(GetCurrentProcessId(),1);          
  //以当前进程ID和1(表示注册为服务,   0表示相反)作为参数   调用该函数  
  }          
  FreeLibrary(hInst);    
  //释放动态连接库  
  }  
  }  
  //这段程序的作用是:在98下隐藏进程自己,   使进程管理器(ctrl-alt-del)看不见  
  //如果程序有可视窗口,   窗口并不隐藏  
  //RegisterServiceProcess函数在msdn能找到,   但是RegisterServiceProcessFun  
  //就找不到了,   因为它是自定义的变量名,   MYFUNC是自定义的函数类型而已  
  Top

4 楼frog_sea(日系版手机,给你冲绳用)回复于 2001-09-14 16:20:41 得分 0

谢谢cctime()的详细解答,给分了Top

相关问题

  • 请大家帮忙看看这几行代码什么意思!
  • 有人知道这几行代码的意思吗?
  • 谁能解释一下 这几行代码什么意思
  • 这行代码是什么意思:
  • 这行代码是什么意思啊?
  • 谢谢,这行代码什么意思
  • 这行ASP代码是什么意思?
  • 请教一行代码的意思
  • 这行代码什么意思?
  • 这几句代码是什么意思?

关键词

  • 函数
  • dll
  • null
  • registerserviceprocessfun
  • myfunc
  • hinst
  • registerserviceprocess
  • 自定义
  • 变量
  • 进程

得分解答快速导航

  • 帖主:frog_sea
  • cctime

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

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