怎样用软件控制鼠标

或者说用软件来代替实际的鼠标,执行实际鼠标的操作
2024-11-25 02:50:16
推荐回答(4个)
回答1:

没有鼠标怎么办
[ 2007-3-22 12:59:00 | By: 蓝色多瑙河 ]

1)运行模拟鼠标功能的一些程序,此法适用于诸多的操作系统(已经测试过了95,97,98,98se,2000,me等,还没有测试过DOS,win3.x和NT)。这种程序的运用可以在很大程度上上代替鼠标(除了那些需要在按住鼠标左键的同时还要移动鼠标的操作,如:对窗口的随意拖动,word文档中内容的连续选择和文件夹间的拖动等)。运用这类模拟程序,我们可以设置鼠标移动的(八个)方向键,逻辑左键,逻辑右键,左双击键,右双击键,以及鼠标滑动的速度等,这些一般设置在数字小键盘上(当然设置在大键盘上也未必不可,视个人的习惯而定。这些程序在国外非常的多,但是国内使用较多的是Virtual Mouse。

2)直接利用数字小键盘来模拟鼠标的多数功能,但是这项功能只在win98以上的版本中开放了,低于win98的系统(如97,95)就没有此功能。我们可以在"开始-->设置-->控制面板-->辅助选项-->鼠标-->鼠标键"中找到这项功能。为了让读者免除阅读帮助文件的麻烦和痛苦(因为它说明的不清不楚,让人费解),下面我把它的具体使用方法给大家说明一下,希望能够讲述得比Bill Gates的"瘟酒吧-吐"清楚那么一点点。

和第一种方法--鼠标功能模拟程序那样,1,2,3,6,9,8,7,4八个数字键是鼠标的(八个)方向键的替代键,5代替鼠标的单击(既可以是左键的单击,也可以是右键的单击,具体是哪个键要看在tray中的鼠标键状态图标的指示),揿下5在鼠标键状态图标上的反应是相应的键的一次闪烁;"+"代替双击(同样也没有指定是哪个键的双击),在鼠标键图标上的反应是相应的键连续闪烁两次;"*"代替左右两键的同时单击,在鼠标键图标上的反应是相应的两个键同时闪烁一次,"/"是切换键,既是单击与双击间的切换,又是左键和右键间的切换;所有的这些状态都会在状态栏中的鼠标键图标上得到体现,当然左右键的状态是非常明显的显示在相应的图标上,而单击显示为灰色,双击显示为黑色。"0(Ins)"键代替按下鼠标键(同样没有指明左右键),在鼠标键状态图标上的反应是相应的键由灰变黑,这个键为我们拖动文件夹,选择文档的部分内容提供了方便;"·(del)"键则代替释放鼠标键,在鼠标键图标上的反应是相应的键由黑变灰。还可以设置鼠标移动的速度(crl表示加速,shift表示减速),数字小键盘的开关键(Alt+Shift+NumLock)等等。

记住,由于数字小键盘不是真的鼠标,所以要领会它的一些规章制度。要领就是先确定下面的操作是左键呢还是右键,以及是单击呢还是双击,鼠标键是按下还是松开?然后再进行相关的操作。

如果您还没有听清的话,或者您想知道得更多一些,请参考相关的帮助文件。

3)用键盘的各种快捷键/组合键来代替鼠标的各种操作,当然这种方法的缺点就是要记忆许多的组合键,如同dos命令相对于windows操作来说的那种麻烦和扰人:

[左键]大小键盘上的enter键。

[右键]用shift+F10可以完全代替,而alt+enter则是shift+F10+R的替代键:查看某选项(可以是文件,也可以是文件夹,甚至是硬盘)的属性。

[菜单的弹出与激活]可以用alt键或者组合键ctrl+f10来弹出第一个菜单,或者用alt+相应的字母,直接弹出对应的菜单;在子菜单中,可以直接用相应的缩写字母来执行对应的功能,也可以用键盘中的上下键移到相应的子菜单项上(特别是对于那些子菜单非常多,而我们需要的东东又在倒数几个的位置),再用enter键执行该功能。

[win键]^+ESC

[选定、选择]SHIFT+方向键为行选择方式,SHIFT+ALT+方向键为列选择方式(列选择在word排版时比较适用)

shift+home/end:选定的范围是从当前的光标位置到行首/行末;

shift+PageUp/PageDown:选定的范围从当前的光标处到页首/页末;

shift+ctrl+PageUp/PageDown:选定的范围从当前的光标处到文顶/文底(注意ctrl+PageUp/PageDown的效果是将光标直接跳到顶部/底部,配合鼠标的操作特别奏效)

[TAB键]IE中:在 Web 页、地址栏和链接栏中向前移动到下一个项目;

alt+home:进入您的主页

[当前窗口间的切换]

如果只有少数几个窗口的话,就直接利用alt+TAB键来切换,

ALT+TAB:两个键同时按下时,是在切换,但是当前的活动窗口还没有改变,直到alt键松开时,活动窗口才改变,shift+alt+tab切换顺序变成为逆序,

ALT+ESC:每按下一次该组合键(不管alt键松开与否),当前的活动窗口就顺序的变成下一个,shift+alt+esc:功能和alt+esc一样,只不过是切换顺序变成了逆序

如果开有非常多的程序窗口,先用^+ESC弹出win键,然后用ESC取消,接着再利用TAB键在win键,状态栏,工具栏和sys tray之间切换,当鼠标切换到相应的地方时,再运用左右键;

最后的办法就是用alt+space弹出窗口的控制菜单,然后将当前窗口最小化,最后就可以看到需要的窗口了。

[窗口的最大化,最小化,关闭]

窗口的关闭:ALT+F4,CTRL+W,ALT+F+X,CAD(^+ALT+DEL)再选择需要关闭的窗口名称,或者用alt+space弹出控制菜单,然后选择"关闭"一项;

其中alt+f4是退出某程序,ctrl+w是关闭某程序的当前窗口,而不关闭其他窗口,但是如果某程序只开了一个窗口时,其效果就是退出该程序;

最大、最小化、以及恢复/还原:ALT+SPACE(打开窗口的控制菜单,选择恢复/还原、最大化,最小化,调节窗口大小、移动等功能项)

[窗口的移动]ALT+SPACE打开控制菜单,然后选择m(移动)一项,这样用上下左右键就可以移动窗口了,

[窗口大小的改变]ALT+SPACE,然后选择s(大小)一项,同样的,上下左右键可以改变窗口的大小

[窗口的翻页]:PageDown和PageUp分别是向下和向上翻一页,ctrl+PageDown和ctrl+PageUp分别是翻到窗口的底部和顶端,

home/end:到行首和行尾,在IE中是到窗口的top和bottum

[文件的移动、改名与删除]DEL:放到回收站中,SHIFT+DEL:直接删除,不经过回收站

[文件的选择]选择一个:就是用上下左右键来选择;

选择全部:用ctrl+a键就可以了;

有规律性的或者说是连续性的选择:用shift+方向键就可以了;

无规律性的选择:按住ctrl键,然后按方向键到所需要选择的项目上,然后按下空格space键就可选上该项目,然后再移动方向键,再space进行选择(此时需要一直按着ctrl键);

如果在众多的项目中只有少数的项目不选:我们可以先选择好这些不需要选择的项目,然后用编辑菜单下的"反向选择"功能进行选择,就达到了选择大多数项目的目的;

[工具栏中功能的实现]前进、后退、向上、停止、cut,copy,paste、undo,delete,属性

请参考windows帮助系统中的"快睫方式,键盘"一项的具体说明

CTRL+S,ALT+F+S,ALT+F+A,

ctrl+Z,ALT+BackSpace:取消上一步的操作,也就是会到上一步的操作结果中,但是不能够回到下一步的操作结果中。

BackSpace是后退一步,在IE中类似于alt+〈-

[某些属性的快捷键(有鼠标时也是如此)]

CAD(ctrl+ALT+DEL):终止进程、关闭和重启计算机

ctrl+A:对当前编辑窗口中的内容进行全选;

ctrl+C:对已经被选定的对象进行复制;

ctrl+V:在光标位置粘贴已经被复制的对象/内容,同时被复制的对象不被删除;

ctrl+X:对被选定的内容/对象进行复制,并且在该内容/对象已经被粘贴之后,再删除原有的内容/对象,否则不予删除;(有点类似于^+C)

ctrl+Z:对最近的一次操作进行反悔(undo)、撤消;

ALT+BackSpace:undo

ctrl+S:保存当前窗口的内容,以及快速保存,和Alt+F+s效果相同

ctrl+N:在现有IE窗口的基础上再打开一个新窗口,新窗口的内容与当前窗口一样;

ctrl+P:弹出打印有关的内容的菜单,知道确认后才正式的打印。

ctrl+B:在office编辑中,起到对字体加黑/去黑的作用;

ctrl+I:在office编辑中,起到对字体倾斜/去斜的作用;

ctrl+W:效果和组合键Alt+F4相同,关闭当前的窗口(而不是直接关闭当前窗口涉及的程序),在IE,Office程序,我的电脑以及windows资源管理器中起到亦起相同作用

ctrl+R:类似于ctrl+F5,对当前内容进行强制性的更新,而不检验、对比内容的日期

ALT+ENTER:快速查看所选项目的属性,功能和SHIFT+F10+R/P一样

ALT+PrintScreen:将整个屏幕上的内容存成图片并copy在剪贴板中,以供复制

SHIFT+F10:弹出"打开方式"

·在win系列的启动中按住SHIFT,可以直接进入"安全模式",出现win画面后再按SHIFT键,则跳过 "开始/程序/启动"程序组中的程序

·在放入光盘时按住SHIFT,则是作为自动播放的开关/转化、

·在^+ALT+SHIFT之后需要重新启动机器时,按住SHIFT,则是重新启动GUI即windows,而不需要再从BIOS开始,某些时候节约了时间,加快了速度。

shift+dele:彻底地删除文件,而不是扔到垃圾箱中

[功能键]

F1:帮助文件的导出,

f2:重新命名的快捷方式,功能等同于"右键-->重命名"

F3:对内容的查找,作用等同于"win键-->查找-->文件或文件夹"

f4:将光标指向地址栏,并且弹出当前地址的相对地址,以及所有的地址(在资源管理器中)

shift+f4:将光标指向地址栏,并且弹出当前地址的相对地址,以及所有的地址(在资源管理器中)

ctrl

+f4:将光标指向地址栏,而没有其他的操作

F5:对内容的更新/刷新,在文本编辑框中,调出当前的时间:时分年月日,比如19:18 2000-08-02

F5 或

CTRL+R 仅当 Web 上的页面与本机存储的 Web 页时间戳不同时,才刷新当前 Web 页

CTRL+F5 即使 Web 上的页面与本机存储的 Web 页时间戳相同,仍然刷新当前 Web 页

f6:功能和tab键一样,完成顺序的切换,ctrl+f6也一样

shift+f6:功能和shift+tab键一样,完成逆序的切换工作

f10:相当与alt键的功能类似,弹出的菜单中包含是第一个菜单(多数为文件)的内容,同时还有在所选择的项目上的右键所弹出的菜单的内容

shift+f10:鼠标的右键功能,在IE中是显示某个链接的快捷菜单

F11:在全屏幕和常规窗口(最大化)之间进行切换;

[在IE中的操作]

ESC:终止网页下载(更新)过程,而不取消所下载的网页,也就是说,下载了多少网页代码,就解释/显示多少网页内容

CTRL+L:转到新位置

ctrl+o:在IE中是弹出"打开新网页"的对话框

CTRL+N:直接打开新窗口(内容和最后一次成功显示的页面内容相同)

CTRL+W:关闭当前窗口

CTRL+S:保存当前页

CTRL+P:打印当前页或当前框架

ENTER:激活选定的链接

CTRL+E:在浏览栏中打开搜索页

CTRL+I:在浏览栏中打开收藏夹

CTRL+H:在浏览栏中打开历史记录

CTRL+单击:在历史记录或收藏栏上,打开多个文件夹

alt+右箭头键

alt+左箭头键

[使用地址栏]

ALT+D:选择地址栏中的文字

F4:显示地址栏的历史记录

CTRL+向左箭头:在地址栏中时,将光标左移到相邻的逻辑分隔符(. 或 /)

CTRL+向右箭头:在地址栏中时,将光标右移到相邻的逻辑分隔符(. 或 /)

CTRL+ENTER:在地址栏中将""添加到键入的文本的前面,将".com"添加到文本的后面

向上箭头:在"自动完成"建议项的列表中向前移动

向下箭头:在"自动完成"建议项的列表中向后移动

[使用收藏夹]

CTRL+D:将当前 Web 页添加到收藏夹中

CTRL+B:打开"整理收藏夹"对话框

ALT+UPARROW:在"整理收藏夹"对话框的"收藏夹"列表中向上移动所选项目

ALT+DOWNARROW:在"整理收藏夹"对话框的"收藏夹"列表中向下移动所选项目

[文本的编辑]

CTRL+X:删除所选项目并将其复制到剪贴板中

CTRL+C:将所选项目复制到剪贴板

CTRL+V:将剪贴板中的内容插入到所选位置

CTRL+A:选中当前 Web 页中的所有项目

在word(office)编排时,ctrl+"="为下标;ctrl+shift为上标;ctrl+b为黑体;ctrl+i为斜体;ctrl+u为下划线;

鼠标的拖动:将所选项目的快捷方式拖到新的地方(如桌面,另外的文件夹中)

ctrl+拖动:可在任意两文件夹之间拷贝(不同盘之间可剩去ctrl);

shift+拖动:可在任意两个文件夹之间移动(同一盘上可剩去shift;

ctrl+shift+拖动:创建快捷方式

ctrl+shift:切换中文输入法

shift+空格:切换全角/半角方式

在IE中,用shift+左键确认:在新的窗口中显示该链接指定的web页面的内容

或者

函数功能:该函数定义一个系统范围的热键。

函数原型:BOOL RegisterHotKey(HWND hWnd,intid,UINT fsModifiers,UINT vk);

参数:

hWnd:接收热键产生WM_HOTKEY消息的窗口句柄。若该参数NULL,传递给调用线程的WM_HOTKEY消息必须在消息循环中中进行处理。

id:定义热键的标识符。调用线程中的其他热键不能使用同样的标识符。应用功能程序必须定义一个0X0000-0xBFFF范围的值。一个共享的动态链接库(DLL)必须定义一个0xC000-0xFFFF范围的值伯GlobalAddAtom函数返回该范围)。为了避免与其他动态链接库定义的热键冲突,一个DLL必须使用GlobalAddAtom函数获得热键的标识符。

fsModifoers:定义为了产生WM_HOTKEY消息而必须与由nVirtKey参数定义的键一起按下的键。该参数可以是如下值的组合:

MOD_ALT:按下的可以是任一Alt键。

MOD_CONTROL:按下的可以是任一Ctrl键。

MOD_SHIFT:按下的可以是任一Shift键。

MOD_WIN:按下的可以是任一Windows按键。这些键可以用Microsoft Windows日志记录下来。

vk:定义热键的虚拟键码。

返回值:若函数调用成功,返回一个非O值。若函数调用失败,则返回值为0。若要获得更多的错误信息,可以调用GetLastError函数。

备注:当某键被接下时,系统在所有的热键中寻找匹配者。一旦找到一个匹配的热键,系统将把WM_HOTKEY消息传递给登记了该热键的线程的消息队列。该消息被传送到队列头部,因此它将在下一轮消息循环中被移去。该函数不能将热键同其他线程创建的窗口关联起来。

若为一热键定义的击键己被其他热键所定义,则RegisterHotKey函数调用失败。

若hWnd参数标识的窗口已用与id参数定义的相同的标识符登记了一个热键,则参数fsModifiers和vk的新值将替代这些参数先前定义的值。

Windows CE:Windows CE 2.0以上版本对于参数fsModifiers支持一个附加的标志位。叫做MOD_KEYUP。

若设置MOD_KEYUP位,则当发生键被按下或被弹起的事件时,窗口将发送WM_HOTKEY消息。

RegisterHotKey可以被用来在线程之间登记热键。

速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:不支持;头文件:winuser.h;库文件:user32.lib。

为了得到唯一标识,我们还将用到另一个API函数

ATOM GlobalAddAtom(

LPCTSTR lpString //自己设定的一个字符串

);

因为我们还要在程序退出的时候,消除这个热键, 所以需要声明一个全局变量:

HotKeyId: Integer;

第一步:

在窗口的create事件中,加入以下代码

HotKeyId := GlobalAddAtom(‘MyHotKey’) - $C000;
注: HotKeyId的合法取之范围是0x0000到0xBFFF之间, GlobalAddAtom函数得到的值
在0xC000到0xFFFF之间,所以减掉0xC000来满足调用要求。

第二步:

在上面的代码下面加入:

RegisterHotKey(Handle, hotkeyid, MOD_ALT, VK_F8);

热键的辅助按键包括Mod_Ctrl 、Mod_Alt、Mod_Shift,对于Windows兼容键盘还支持Windows
键,即其键面上有Windows标志的那个键,其值为Mod_win。

上面 的代码注册了一个热键:ALT+F8。当然如果你希望象TAKEIT那样,只用F8, 就这么写:

RegisterHotKey(Handle, hotkeyid, 0, VK_F8);

注:handle是一个特殊的变量,它表示当前窗口的句柄。

这个函数你应该能句举一反三了吧。

原理:

一旦热键设置成功,在程序应用过程中如果有相应的键被按下,Windows系统都会给你的应
用程序发送一个消息WM_HOTKEY,不管你的应用程序是否为当前活动的。其中WM_HOTKEY消
息的格式为:

idHotKey = (int) wParam; // 该参数在设置系统级的热键有用,一般不予使用
fuModifiers = (UINT) LOWORD(lParam); //热键的辅助按键
uVirtKey = (UINT) HIWORD(lParam); //热键的键值

第三步:

注册了热键,就该写下响应代码了。

首先,在程序头部分的private段中加入声明 (作用是声明这个过程,和声明变量类似。
关于如何声明函数、过程,请请参考各自的帮助文件或其它资料):

procedure HotKeyDown(var Msg: Tmessage); message WM_HOTKEY;

然后在程序中加入如下代码:

procedure Tfmain.HotKeyDown(var Msg: Tmessage);

begin

if (Msg.LparamLo = MOD_ALT) AND Msg.LParamHi = VK_F8 then // 假设热键为ALT+F8

begin

end;

最后一步:

在窗口的close事件中加入

UnRegisterHotKey(handle, HotKeyId); //注销HotKey, 释放资源

测试代码:

首先用RegisterHotKey函数注册一个热键,例如Enter键。当按下Enter后,就调用mouse_event函数,模拟点击鼠标左键。

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;

type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure OnHotKey(var msg:Tmessage);message WM_HOTKEY;
private

public

end;

var
Form1: TForm1;

implementation

procedure TForm1.OnHotKey(var msg:Tmessage);
var
pt:TPoint;
begin
if msg.WParam=9999 then
begin
GetCursorPos(pt);
mouse_event(MOUSEEVENTF_LEFTDOWN,pt.x,pt.y,0,0);
mouse_event(MOUSEEVENTF_LEFTUP,pt.x,pt.y,0,0);
end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
RegisterHotkey(handle,9999,0,VK_RETURN); //注册一个id为9999的hotkey
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
UnRegisterHotkey(handle,9999);
end;

end.

试试以上代码,运行时按回车键,就会模拟点击鼠标左键的了。

回答2:

软件就没有了,不过你可以在鼠标左键下面塞点儿棉花啥,让它接触不良,应该就可以达到你要求的这效果了。

回答3:

你想 控制鼠标做什么 ? 我看有其他办法 帮你解决么!

回答4:

这个 、没办法