当前位置:首页
开发技术指南» 文章正文
    引言:
 

 

    摘要: 这样的一个触发器: create or replace trigger jfjjd before delete on st14_exrtwage for each row declare themoneyd varchar2(50); therightd int; newcountd float; begin therightd :=-1; if :old.pyitem<>98......
 ·几个小问题    »显示摘要«
    摘要: 1、fat32 文件系统用deltree 命令删除过的目录能否恢复? 2、fat32 分区的大小能否在系统运行过程中动态改变,(当然不能破怀数据) 或者至少在系统启动时改变一次,能否做到? 3、能否将具有树型结构的数据库文件映射成虚拟的磁盘结构? 就像ramdrive所作的,只不过虚拟磁盘的内容是由数据库文件内容确定的。 当然要能用dos命令操作。 如果能,应怎样实现? 4、能否屏蔽掉所有......


现在要分析应用程序的资源,例子一般都是通过分析PE文件结构来实现的,但我发现通过FindResource(),BeginUpdateResource(),UpdateResourc

有哪位大侠能告诉我那里有用这些API替换资源的完整例子,200分献上

NO.1   作者: masterz

Updating   Resources  
  The   following   example   copies   a   dialog   box   resource   from   one   executable   file,   Hand.exe,   to   another,   Foot.exe,   by   following   these   steps:    
   
  Use   the   LoadLibrary   function   to   load   the   executable   file   Hand.exe.    
  Use   the   FindResource   and   LoadResource   functions   to   locate   and   load   the   dialog   box   resource.    
  Use   the   LockResource   function   to   retrieve   a   pointer   to   the   dialog   box   resource   data.    
  Use   the   BeginUpdateResource   function   to   open   an   update   handle   to   Foot.exe.    
  Use   the   UpdateResource   function   to   copy   the   dialog   box   resource   from   Hand.exe   to   Foot.exe.    
  Use   the   EndUpdateResource   function   to   complete   the   update.    
  The   following   code   implements   these   steps.    
   
  HRSRC   hResLoad;           //   handle   to   loaded   resource    
  HANDLE   hExe;                 //   handle   to   existing   .EXE   file    
  HRSRC   hRes;                   //   handle/ptr.   to   res.   info.   in   hExe    
  HANDLE   hUpdateRes;     //   update   resource   handle    
  char   *lpResLock;         //   pointer   to   resource   data    
  BOOL   result;    
  //   Load   the   .EXE   file   that   contains   the   dialog   box   you   want   to   copy.    
  hExe   =   LoadLibrary("hand.exe");    
  if   (hExe   ==   NULL)    
  {    
          ErrorHandler("Could   not   load   exe.");    
  }    
     
  //   Locate   the   dialog   box   resource   in   the   .EXE   file.    
  hRes   =   FindResource(hExe,   "AboutBox",   RT_DIALOG);    
  if   (hRes   ==   NULL)    
  {    
          ErrorHandler("Could   not   locate   dialog   box.");    
  }    
     
  //   Load   the   dialog   box   into   global   memory.    
  hResLoad   =   LoadResource(hExe,   hRes);    
  if   (hResLoad   ==   NULL)    
  {    
          ErrorHandler("Could   not   load   dialog   box.");    
  }    
     
  //   Lock   the   dialog   box   into   global   memory.    
  lpResLock   =   LockResource(hResLoad);    
  if   (lpResLock   ==   NULL)    
  {    
          ErrorHandler("Could   not   lock   dialog   box.");    
  }    
     
  //   Open   the   file   to   which   you   want   to   add   the   dialog   box   resource.    
  hUpdateRes   =   BeginUpdateResource("foot.exe",   FALSE);    
  if   (hUpdateRes   ==   NULL)    
  {    
          ErrorHandler("Could   not   open   file   for   writing.");    
  }    
     
  //   Add   the   dialog   box   resource   to   the   update   list.    
  result   =   UpdateResource(hUpdateRes,               //   update   resource   handle    
            RT_DIALOG,                                       //   change   dialog   box   resource    
            "AboutBox",                                     //   dialog   box   name    
            MAKELANGID(LANG_NEUTRAL,   SUBLANG_NEUTRAL),     //   neutral   language  
            lpResLock,                                       //   ptr   to   resource   info    
            SizeofResource(hExe,   hRes));   //   size   of   resource   info.    
  if   (result   ==   FALSE)    
  {    
          ErrorHandler("Could   not   add   resource.");    
  }    
     
  //   Write   changes   to   FOOT.EXE   and   then   close   it.    
  if   (!EndUpdateResource(hUpdateRes,   FALSE))    
  {    
          ErrorHandler("Could   not   write   changes   to   file.");    
  }    
     
  //   Clean   up.    
  if   (!FreeLibrary(hExe))    
  {    
          ErrorHandler("Could   not   free   executable.");    
  }    
 


    摘要: 在什么地方可以下载powerdesigner8.0 ......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE