首页 新闻 会员 周边 捐助

怪了,自己用程序调用createprocess,为什么Hook不到?

0
悬赏园豆:80 [已关闭问题]

我写了个钩子程序,可以Hook到createprocess,createprocessA,createProcessW 的调用。
比如在桌面上执行任何一个程序的快捷方式,我是可以Hook到的。哪怕打开一个文件夹,也是可以Hook到的。
但是我自己用代码写一个执行目标程序的功能,却Hook不到,为什么呢?
代码如下:Delphi(Pascal) code
function RunApp(const Path: String): int;
var StartUpInfo: TStartUpInfo;
  ProcessInformation: TProcessInformation;
  CreateProcResult: Boolean;
begin
  ZeroMemory(@StartUpInfo, 0);
  FillChar(StartUpInfo, sizeof(StartUpInfo), 00);
  with StartUpInfo do
  begin
    cb := sizeof(StartUpInfo);
    dwFlags := STARTF_USESHOWWINDOW;
    lptitle := nil;
    wShowWindow:=SW_SHOW;
  end;
  CreateProcResult := CreateProcess(nil, PChar(Path), nil, nil, false,
    DETACHED_PROCESS, nil, nil, StartUpInfo, ProcessInformation);
  if CreateProcResult then
    Result := 0
  else
    Result := 1;
end;
Hook功能的实现,参照http://blog.csdn.net/wts/archive/2008/08/08/2786042.aspx
只不过我改成Hook  createprocess,createprocessA,createProcessW

HHSoft的主页 HHSoft | 初学一级 | 园豆:150
提问于:2008-11-26 16:20
< >
分享
其他回答(1)
0

帮你顶一下,可惜俺不会,但只知道灰鸽子就是用强大的Dephi开发的....

Astar | 园豆:40805 (高人七级) | 2008-11-26 23:17
0

xuexi....

Jared.Nie | 园豆:1940 (小虾三级) | 2008-11-27 08:54
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册