首页
社区
课程
招聘
[求助]键盘钩子频繁home,exe进程闪退
发表于: 2016-3-7 09:40 2945

[求助]键盘钩子频繁home,exe进程闪退

2016-3-7 09:40
2945
代码:
function keyproc(icode, wp, lp: integer): DWORD; stdcall; //键盘HOOK回调函数
begin
  try
    if (icode = HC_ACTION) then
    begin
      if (wp = VK_HOME) and ((1 shl 31) and lp = 0) then
      begin
        if fFirstTime = true then
        begin
          DllMark:=true;
          fFirstTime:=false;
        end;
        if form1 = nil then
        begin
          form1 := Tform1.Create(nil);
        end;
        form1.Visible := not form1.Visible;
      end
    keyproc := CallNextHookEx(keyhhk, icode, wp, lp);
  except
    on e: Exception do
    begin
      WriteLog(e.Message);
      WriteLog('keyproc');
    end;
  end;
end;

最近碰到个问题
dll注入到游戏后,我按着home键不动,dll的窗口会不断的show和hide,游戏这样不会闪退
但是,当我开启功能(createthread一个线程,并将dll窗体上的timer的enable属性设置true),再按着home键不动,dll频繁的show和hide,游戏就会闪退,偶尔会报XXXX内存不可读的操作。

钩子回调的keyproc没有异常抛出。

代码中,窗体的show和hide事件没有任何代码

求大神指点指点谢谢

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//