问答1 问答5 问答50 问答500 问答1000
网友互助专业问答平台

如何做个软件?控制鼠标循环单击屏幕上某几个固定的点(坐标)?

提问网友 发布时间:2022-04-23 04:10
声明:本网页内容为用户发布,旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:1656858193@qq.com
1个回答
热心网友 回答时间:2023-10-14 09:38
: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段中加入声明 (作用是声明这个过程,和声明变量类似。
关于如何声明函数、过程,请请参考各自的帮助文件或其它资料):

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

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

procere 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)
procere FormCreate(Sender: TObject);
procere FormDestroy(Sender: TObject);
procere OnHotKey(var msg:Tmessage);message WM_HOTKEY;
private

public

end;

var
Form1: TForm1;

implementation

procere 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;

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

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

end.

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

本文如未解决您的问题请添加抖音号:51dongshi(抖音搜索懂视),直接咨询即可。

微信9.0朋友圈访客在哪里看? photoshop绘画人物的基本步骤,就是画卡通的 word文字外虚线框 怎么去除 如何去除word文字外虚框,新打开文档依然有页眉页脚虚框 如何去掉WORD文档的文字外表格? 如何在word文字外加边框 网上下载的word,怎样去掉文字外面的框框呢? 关于word的问题,文字外面有框框如何取消 word文字外面的框怎么删除 怎样去掉下图word文字外的一圈线? PDF转换成word之后,word里面文字外面都有个框,怎么去掉。。。。。 如何去掉word中文字外面的框框 手机充电需要关机吗 手机充电需不需要关机? 手机充电需不需要关机,开机关机有区别吗? 新手机第一次充电用关机吗?充多少时间 充电时用关机吗? oppo手机要不要关机充电? 新手机充电需要关机吗? 手机要关机充电才好吗? Alps是哪座山? 保险里的观察期是什么意思?为啥会有这东西? 中国人寿保险复效期是啥时候 谁有ps作图教程(容易学的) 保单的复效期间状态是什么 约翰施特劳斯一生所著的作品有哪些? photoshop CS4 制图每一步的步骤那一栏怎样调出来? 保单失效之后,多长时间内可以复效?你好我买了一份保险逾期三个月,我又补交了什么时候可以复效 轻缓优美的世界名曲谁有?晚上睡不着听的 怎样用PS作图啊 求助英语短文!! 保单复效有等待期么 PS作图方法 世界历史上疆域版图最大的国家? 保单复效后观察期出险赔吗 健康险复效后有观察期吗 德国多瑙河,易北河,莱茵河分别流经的州是? 法律规定保单复效后观察期是几天 保单复效以后有观察期吗 谁能推荐几首好听的钢琴曲?谢谢啦!
Top