如何琐定桌面的鼠标,不让他动。

解决方案 »

  1.   

    function BlockInput (fBlockInput : boolean) : DWord; stdcall; external 'user32.DLL';
      

  2.   

    下面把鼠标的移动区域限制在(100,100,200,200)var rect:TRect;
    begin
      rect.Left:=100;
      rect.Top:=100;
      rect.Bottom:=200;
      rect.Right:=200;
      windows.ClipCursor(@rect);下面恢复鼠标的移动区域
      windows.ClipCursor(0);具体的列子就不用举了吧,很简单的。嘻嘻嘻嘻嘻在delphi中的帮助是这么写的:The ClipCursor function confines the cursor to a rectangular area on the screen.
    If a subsequent cursor position (set by the SetCursorPos function or the mouse) 
    lies outside the rectangle, Windows automatically adjusts the position to keep the 
    cursor inside the rectangular area. BOOL ClipCursor(    CONST RECT *lpRect     // pointer to structure with rectangle  
      );    
    ParameterslprcPoints to the RECT structure that contains the screen coordinates of the upper-
    left and lower-right corners of the confining rectangle. If this parameter is 
    NULL, the cursor is free to move anywhere on the screen. Return ValuesIf the function succeeds, the return value is nonzero.
    If the function fails, the return value is zero. To get extended error information, call GetLastError. ResThe cursor is a shared resource. If an application confines the cursor, it must 
    release the cursor by using ClipCursor before relinquishing control to another 
    application. 
    The calling process must have WINSTA_WRITEATTRIBUTES access to the window station.