1:不能重复热键
function KeyboardHookHandler(iCode: Integer;
wParam: WPARAM;
lParam: LPARAM ): LRESULT; stdcall; export;
const
_KeyPressMask = $80000000;
var
i:integer;
Key_S:String;
begin
  Result := 0;
  if D_point='N' then
  iCode:=-1;
  If iCode < 0 Then
  begin
    Result := CallNextHookEx(DnfNextHook, iCode, wParam, lParam);
    Exit;
  end;      for i:=0 to Key_.Count-1 do
      begin
    [code][/code]      Key_S:=Key_[i];
      if ((lParam and _KeyPressMask) = 0) and        (wParam = Ord(Key_S[1])) then  
       begin        Result := 1;           
        Do_Skill(Skill_[i]);
       end;
      end;
end;Key_,Skill_是个字符串数组,他们是一一对应的
例Key_[0]='A',对应的Skill_[0]就是操作,D,E,F按钮按下弹起
现在,如果我又设置一个热钱为Key_[1]='D',Skill_[1]是操作,C,B,A的按钮
这样的话,如果我按A按钮后,操作D,D由于是在热键处理中,那就对EF操作完成后,又进行D的热键操作,这样反复循环,使我热键就会出现问题,请问有什么方法解决?2:我的设置文件为Key_ini:=TInifile.Create('D:\XX\Key.ini');
我能不能设置为自动找到这个Key.ini文件路径
要不我编译后的程序老要叫人把Key.ini放在指定目录下才能运行,很麻烦