下面是一个ontimer事件,可以把鼠标慢慢移动到当前窗口的右上角的“关闭”按钮,然后模拟鼠标单击来关掉窗口,
procedure TForm1.Timer1Timer(Sender: TObject);
Var
  h1,h:Hwnd;
  r:Trect;
  j,i:integer;
begin
   Sleep(500);
   h1:=GetDesktopWindow();
   h:=GetForegroundWindow();
   if h1=h then
      begin
         h:=GetNextWindow(h1,GW_HWNDPREV);
         SetForegroundWindow(h);
         GetWindowRect(h,r);
         setcursorpos(r.Left+20,r.Bottom);
         For i:=r.Bottom downto (r.Top+10) do
             begin
                setcursorpos(r.Left+20,i);
                Sleep(6);
             end;
         For j:=(r.Left+20) to (r.Right-13) do
             begin
                Setcursorpos(j,r.Top+10);
                Sleep(6);
             end;
                Sleep(10);
                Mouse_Event(MOUSEEVENTF_LEFTDOWN,j,i+145,0,0);
                Mouse_Event(MOUSEEVENTF_LEFTUP,j,j,0,0);
                Sleep(15);
      end
   else
      begin
         SetForegroundWindow(h);
         GetWindowRect(h,r);
         setcursorpos(r.Left+20,r.Bottom);
         For i:=r.Bottom downto (r.Top+10) do
         begin
            setcursorpos(r.Left+20,i);
            Sleep(6);
         end;
         For j:=(r.Left+20) to (r.Right-13) do
             begin
                Setcursorpos(j,r.Top+10);
                Sleep(6);
             end;
             Sleep(10);
             Mouse_Event(MOUSEEVENTF_LEFTDOWN,j,i+145,0,0);
             Mouse_Event(MOUSEEVENTF_LEFTUP,j,j,0,0);
             Sleep(15);
      end;end;

解决方案 »

  1.   

    老兄啊我用Mouse_Event(MOUSEEVENTF_LEFTDOWN,j,i+145,0,0);
    提示错误:E:\sendmessage\sendmessage.cpp(226) : error C2065: 'Mouse_Event' : undeclared identifier
    我该真么定义他阿?
      

  2.   

    我又新建了一个工程试了一下,我这里在DELPHI里编译完全可以通过,可能在BCB里有不同吧我没有用过BCB
      

  3.   

    给分呀,faint,可别告诉我你还不会给分呀
      

  4.   

    yypp,我在网络安全那有个同样的问题,快去答我一定给分(我第一次登陆,不知道规矩)
      

  5.   

    第一次我还看的到有个评分框框,这次不行行,
    我再提个问:名字叫"yypp请进"你来答,我给分