procedure TForm1.Button22Click(Sender: TObject);
begin
    SetForegroundWindow (hwd);      //窗口获得焦点
    keybd_event(VK_SPACE,0,0,0);    //模拟按下空格键,不会释放
  postMessage(hwd,WM_KEYDOWN,VK_F8,0);     //模拟按键
  postMessage(hwd,WM_KEYUP,VK_F8,0);       //模拟按键
    PostMessage (HWND_BROADCAST , MyMessage, 102, 0);    //广播消息
  injectfunc(hwd,@gohome,nil,0);    //非DLL式注入
end;就是上面的代码,直接在Button里使用,一点问题都没有。
但是把代码放进timer里,一个都不起作用了,不知道是本程序没有发出命令还是目标没有接受到消息。
最郁闷的是keybd_event(VK_SPACE,0,0,0);,原本应当是按下之即使窗口失去焦点后不会被释放的,结果窗口失去焦点VK_SPEAC就被释放了
---------------------------------------------------------------------
把代码写在函数内,让timer调用,有部分却可以用了,比如:
procedure MYFLY;
begin
              postMessage(hwd,WM_KEYDOWN,VK_F7,0);     
              postMessage(hwd,WM_KEYUP,VK_F7,0);
end;
在timer里 MYFLY;调用就正常了*_*
-------------------------------------------------------------
前天这些代码在time里还是正常使用的,今天就一个一个出问题了,幼小的心灵遭受严重打击ing........