寻求在Win2000下,限制鼠标只能在一个范围内活动.
请不要和win9x相提并论.以下是别人做的商业网吧管理系统
+++++++++++++++++++++++++++++++++++++++++++++++++++++++
下载地址:http://xj-http.skycn.net:8080/down/client2004XP82.exe
管理密码为:123456,
+++++++++++++++++++++++++++++++++++++++++++++++++++++++
这个客户端程序里有一个程序是runonpro.exe,只要一运行它,鼠标就会给限制在左上角。只要程序没有退出,就可以让你无法解除限制。回答这问题前,请你可以先看看以上这个程序。我想做到以上runonpro.exe 这样一个程序。如果你试过了。就知道。它根本就只是限制鼠标在左上角。其他的都没有做。并不需要屏蔽win键,ctrl+alt+del键,之类的。只有退出这个程序,方可解开限制。

解决方案 »

  1.   

    设定全局鼠标钩子,把鼠标运动信息都篡改,这样就可以限定范围了,自己察看SetWindowsHookex,到底能不能做到,看你的了。
      

  2.   

    还有,网吧管理系统是最坏的软件,不符合规范,按照规范,应该开发全新的Shell,windows是可以定制Shell的
      

  3.   

    其实这个问题没有太大难度,不用用到鼠标钩子也不用定制Shell,只要一个函数BOOL ClipCursor(CONST RECT *lpRect)就可以解决了,参数指定鼠标活动范围,别忘了结束程序前通过ClipCursor(0)来解除鼠标锁定哦~~~
      

  4.   

    我创建一个application程序,在窗口中放入time控件,
    设置每秒运行一次ScreenRect := Rect(0, 0, 10, 10);
    ClipCursor(@ScreenRect); 这段代码。
    保存工程,命名为setmouse,编译得到setmouse.exe 文件,
    现在将其加入注册表自动运行Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce]
    "0run"="d:\\mouse\\setmouse.exe"
    注销win2000,再登录,这时问题又来了。虽可以限制了。但是,桌面不出来了。
    不知道那个高手可以教教如何写这样的一个程序,可以让它运行,又可以不影响系统的加载。
    请给出代码好吗?
      

  5.   

    同意 philipsedwin(真的假不了)  的意見
      

  6.   

    用其他Windows自启动方式试试好了,可以到网上找一下关于这方面的资料.
    还有,为什么要每秒运行一次呢?:)
      

  7.   

    比如在"C:\Documents and Settings\用户名\「开始」菜单\程序\启动"下加入你的程序也许是一个不错的办法:)
      

  8.   

    1,坐标映射
    2,SetCursorPosEND---------------
      

  9.   

    鼠标钩子是可以的!就是复杂点!
    philipsedwin(真的假不了) 简单了很多了!
      

  10.   

    用clipcursor就行了,比如将它限在一个Form内
    procedure TForm1.FormActivate(Sender: TObject);
    var
      FormRect : TRect;
    begin
      FormRect := Self.ClientRect;
      MapWindowPoints(Handle,0,FormRect,2);
      ClipCursor(@FormRect);//限制在FormRect内
    end;procedure TForm1.FormDestroy(Sender: TObject);
    begin
      ClipCursor(0);//解除限制
    end;
      

  11.   

    需要将鼠标的移动范围限制在屏幕上一定的区域,可以通过Windows API 函数
    C l i p C u r s o r实现。函数原形如下:
    BOOL ClipCursor( CONST RECT *lpRect ) ;
    其中参数R E C T为指向一个矩形区域的指针,坐标为屏幕坐标。如果设置为0,则鼠标可以
    在整个屏幕中自由移动。在WIN2000下做过例程,通过~
    注意,在退出时应该
    C l i p C u r s o r ( 0 ) ;
    否则,你的鼠标就还在哪儿不能动了~~