搜档网
当前位置:搜档网 › C#模拟鼠标键盘动作

C#模拟鼠标键盘动作

C#模拟鼠标键盘动作
C#模拟鼠标键盘动作

C#模拟鼠标键盘动作

在实际应用中,有时需要程序模拟鼠标点击或键盘按键操作,代替某些程序既定的人工操作,这样不但省时省力,效率较高,而且可以进行一些人力很难持续完成的工作。因为人是血肉之躯,人有思考的能力,但是人是会疲劳的,而电脑不会,只要有足够的资源和性能稳定的硬件设备。

模拟键盘动作

SendKeys.Send 方法

向活动应用程序发送击键。

命名空间:System.Windows.Forms

程序集:System.Windows.Forms(在System.Windows.Forms.dll 中)

方法签名:public static void Send(string keys)

参数

keys

类型:System.String

要发送的击键字符串。

备注:

每个键都由一个或多个字符表示。要指定单个键盘字符,请使用该字符本身。例如,要表示字母 A,请将字符串“A”传递给方法。要表示多个字符,请将各个附加字符追加到它之前的字符的后面。要表示字母 A、B 和 C,请将参数指定为“ABC”。

加号 (+)、插入符号 (^)、百分号 (%)、波形符 (~) 以及圆括号 () 对SendKeys具有特殊含义。要指定这些字符中的某个字符,请将其放在大括号 ({}) 内。例如,要指定加号,请使用“{+}”。要指定大括号字符,请使用“{{}”和“{}}”。中括号 ([ ]) 对SendKeys没有特殊含义,但必须将它们放在大括号内。在其他应用程序中,中括号具有特殊含义,此含义可能会在发生动态数据交换 (DDE) 时起重要作用。

键盘字符

要指定在按键(如 Enter 或 Tab)时不显示的字符,以及表示操作而不表示字符的键,请使用下表中的代码。

键代码

Backspace {BACKSPACE}、{BS} 或 {BKSP} Break {BREAK}

Caps Lock {CAPSLOCK}

Del 或 Delete {DELETE} 或 {DEL}

向下键{DOWN}

End {END}

Enter {ENTER} 或 ~

Esc {ESC}

Help {HELP}

Home {HOME}

Ins 或 Insert {INSERT} 或 {INS}

向左键{LEFT}

Num Lock {NUMLOCK}

Page Down {PGDN}

向上翻页{PGUP}

Print Screen {PRTSC}(保留供将来使用)

向右键{RIGHT}

Scroll Lock {SCROLLLOCK}

TAB {TAB}

向上键{UP}

F1 {F1}

F2 {F2}

F3 {F3}

F4 {F4}

F5 {F5}

F6 {F6}

F7 {F7}

F8 {F8}

F9 {F9}

F10 {F10}

F11 {F11}

F12 {F12}

F13 {F13}

F14 {F14}

F15 {F15}

F16 {F16}

数字键盘加号{ADD}

数字键盘减号{SUBTRACT}

数字键盘乘号{MULTIPLY}

数字键盘除号{DIVIDE}

要指定与 Shift、Ctrl 和 Alt 键的任意组合一起使用的键,请在这些键代码之前加上以下一段或多段代码。

键代码

Shift +

Ctrl ^

Alt %

要指定在按一些键时应同时按住 Shift、Ctrl 和 Alt 键的任意组合,请将这些键的代码放在括号内。例如,要指定按 E 和 C 时同时按住 Shift 键,请使用“+(EC)”。要指定按 E 时应按住 Shift,之后按 C 时不按住 Shift,请使用“+EC”。

要指定重复键,请使用格式 {key number}。键和数字之间必须放一空格。例如,{LEFT 42} 表示按向左键 42 次;{h 10} 表示按 H 10 次。

示例:

下面的代码是使用.Net内置方法SendKeys.Send()模拟键盘按键,向文本框控件TextBox中输入英文字母a到z。

// 文本框获取焦点

this.textBox1.Focus();

for (int i = 65; i < 91; i++)

{

// 设置键盘按键代码

char Letter = (char)i;

// 模拟键盘按键输入字母

SendKeys.Send(Letter.ToString());

// 暂停线程模拟按键速度

System.Threading.Thread.Sleep(100);

// 响应Windows消息等待下次按键

SendKeys.Flush();

}

模拟鼠标动作

鼠标定位

SetCursorPos方法

函数功能:该函数把光标移到屏幕的指定位置。如果新位置不在由ClipCursor函数设置的屏幕矩形区域之内,则系统自动调整坐标,使得光标在矩形之内。

函数原型:BOOL SetCursorPOS(int X,int Y);

参数:

X:指定光标的新的X坐标,以屏幕坐标表示。

Y:指定光标的新的Y坐标,以屏幕坐标表示。

返回值:如果成功,返回非零值;如果失败,返回值是零,若想获得更多错误信息,请调用GetLastError函数。

备注:该光标是共享资源,仅当该光标在一个窗口的客户区域内时它才能移动该光标。

C#中使用该函数首先导入命名空间:

https://www.sodocs.net/doc/eb15623812.html,ing System.Runtime.InteropServices;

然后写API引用部分的代码,放入class 内部

1.[DllImport("user3

2.dll", EntryPoint = "SetCursorPos")]

2.private static extern int SetCursorPos(int x, int y);

这个函数有两个个参数,第一个参数是指定光标的新的X坐标;第二个参数是指定光标的新的Y坐标。例如:

1.SetCursorPos(100, 100);

鼠标按键

Mouse_event方法

方法签名:

[DllImport("user32.dll", EntryPoint="mouse_event")]

public static extern void mouse_event (int dwFlags, int dx, int dy, int cButtons, int dwExtraInfo); 参数:

dwFlags ——Long,下述标志的一个组合:

MOUSEEVENTF_MOVE:移动鼠标;

MOUSEEVENTF_LEFTDOWN:模拟鼠标左键按下;

MOUSEEVENTF_LEFTUP:模拟鼠标左键抬起;

MOUSEEVENTF_RIGHTDOWN:模拟鼠标右键按下;

MOUSEEVENTF_RIGHTUP:模拟鼠标右键按下;

MOUSEEVENTF_MIDDLEDOWN:模拟鼠标中键按下;

MOUSEEVENTF_MIDDLEUP:模拟鼠标中键按下。

dx和dy指定鼠标坐标系统中的一个绝对位置。在鼠标坐标系统中,屏幕在水平和垂直方向上均匀分割成65535×65535个单元;

dx——Long,根据是否指定了MOUSEEVENTF_ABSOLUTE标志,指定水平方向的绝对位置或相对运动;dy ——Long,根据是否指定了MOUSEEVENTF_ABSOLUTE标志,指定垂直方向的绝对位置或相对运动;

cButtons ——Long,未使用

dwExtraInfo ——Long,通常未用的一个值。用GetMessageExtraInfo函数可取得这个值。可用的值取决于特定的驱动程序。

代码示例:

int X, Y;

X = 400;

Y = 400;

SetCursorPos(X, Y);

mouse_event(MOUSEEVENTF_LEFTDOWN, X, Y, 0, 0);

mouse_event(MOUSEEVENTF_LEFTUP, X, Y, 0, 0);

不用鼠标怎么用键盘操作电脑

不用鼠标怎么用键盘操作电脑.有哪些快捷键? 快捷键大全 F1 显示当前程序或者windows的帮助内容。 F2 当你选中一个文件的话,这意味着“重命名” F3 当你在桌面上的时候是打开“查找:所有文件” 对话框 F10或ALT 激活当前程序的菜单栏 windows键或CTRL+ESC 打开开始菜单 CTRL+ALT+DELETE 在win9x中打开关闭程序对话框 DELETE 删除被选择的选择项目,如果是文件,将被放入回收站 SHIFT+DELETE 删除被选择的选择项目,如果是文件,将被直接删除而不是放入回收站CTRL+N 新建一个新的文件 CTRL+O 打开“打开文件”对话框 CTRL+P 打开“打印”对话框 CTRL+S 保存当前*(糙)*作的文件 CTRL+X 剪切被选择的项目到剪贴板 CTRL+INSERT 或CTRL+C 复制被选择的项目到剪贴板 SHIFT+INSERT 或CTRL+V 粘贴剪贴板中的内容到当前位置 ALT+BACKSPACE 或CTRL+Z 撤销上一步的*(糙)*作 ALT+SHIFT+BACKSPACE 重做上一步被撤销的*(糙)*作 Windows键+M 最小化所有被打开的窗口。 Windows键+CTRL+M 重新将恢复上一项*(糙)*作前窗口的大小和位置 Windows键+E 打开资源管理器 Windows键+F 打开“查找:所有文件”对话框 Windows键+R 打开“运行”对话框 Windows键+BREAK 打开“系统属性”对话框 Windows键+CTRL+F 打开“查找:计算机”对话框 SHIFT+F10或鼠标右击打开当前活动项目的快捷菜单 SHIFT 在放入CD的时候按下不放,可以跳过自动播放CD。在打开word的时候按下不放,可以跳过自启动的宏 ALT+F4 关闭当前应用程序 ALT+SPACEBAR 打开程序最左上角的菜单 ALT+TAB 切换当前程序 ALT+ESC 切换当前程序 ALT+ENTER 将windows下运行的MSDOS窗口在窗口和全屏幕状态间切换 PRINT SCREEN 将当前屏幕以图象方式拷贝到剪贴板 ALT+PRINT SCREEN 将当前活动程序窗口以图象方式拷贝到剪贴板 CTRL+F4 关闭当前应用程序中的当前文本(如word中) CTRL+F6 切换到当前应用程序中的下一个文本(加shift 可以跳到前一个窗口) 在IE中: ALT+RIGHT ARROW 显示前一页(前进键) ALT+LEFT ARROW 显示后一页(后退键)

VB编程的键盘控制

V B编程的键盘控制Prepared on 21 November 2021

VB编程的键盘控制 我们利用VisualBASIC编写程序,多数情况只涉及到鼠标操作(如单击、双击、拖动等),但如果程序中需要实现文本编辑、热键激活或利用键盘进行游戏控制等功能时,将不可避免地碰到键盘捕获及处理的问题。下面,我们就来看一看VB编程中如何进行键盘控制。 一、概述 在VB中,很多控件都提供了键盘输入功能(如文本框、组合框等),但它们对键盘的处理较简单,遇到复杂一点的要求即无能为力。因而VB提供了KeyPress、KeyUp、KeyDown三种键盘事件,当用户按键时,会触发这三种事件,而且窗体和接受键盘输入的控件都识别这三种事件。下表对这些事件作了描述。 键盘事件触发原因 KeyPress按下某ASCII字符键 KeyDown按下键盘的任意键 KeyUp释放键盘的任意键 KeyPress事件无法检测到的情况: SHIFT、CTRL和ALT键的特殊组合。 光标控制键。 HOME、END、PAGEUP、PAGEDOWN等。 数字小键盘的数字键与打字键盘数字键的区别。 不仅响应按键操作而且响应释放键操作(KeyPress只响应按键操作)。 键盘事件彼此不相互排斥。按下某键时将生成KeyDown和KeyPress事件,而松开此键时生成KeyUp事件。当用户按下一个KeyPress不能检测的键时将触发KeyDown事件,松开此键时生成KeyUp事件。若使用KeyUp和KeyDown事件应确保KeyPress事件的功能不够用,通常编写KeyPress事件的代码比较容易。 二、KeyPress事件 在按下与ASCII字符对应的键时将触发KeyPress事件。ASCII字符集代表标准键盘的字母、数字和标点符号以及部分控制键(ENTER、TAB、BACKSPACE键等)。KeyDown和KeyUp事件能够检测其它功能键、编辑键和光标定位键。当处理标准ASCII字符时应使用KeyPress事件。例如,如果希望将输入到文本框中的所有字符都强制转换为大写字符,则可在输入时使用此事件转换大小写:PrivateSubText1_KeyPress(KeyAsciiAsInteger) KeyAscii=Asc(Ucase(Chr(KeyAscii))) EndSub KeyAscii参数返回对应所按键的ASCII代码。 也可通过KeyPress事件识别部分控制键。例如,下述事件过程使用KeyPress检测用户是否正在按BACKSPACE键: PrivateSubText1_KeyPress(KeyAsciiAsInteger) IfKeyAscii=8ThenMsgBox"YouPressedtheBACKSPACEkey." EndSub 注:BACKSPACE键的ASCII值为8。 还可用KeyPress事件改变某些键的缺省行为。例如,当在文本框内按ENTER键就会结束当前行输入并将光标转到下一行(Multiline属性设为True)。在KeyPress事件中截断ENTER键(ASCII 值为13)就可避免这种情况:

鼠标的键盘使用方法

就可以用数字键盘控制了.1,2,3,6,9,8,7,4八个数字键是鼠标的(八个)方向键的替代键,5代替鼠标的单击(既可以是左键的单击,也可以是右键的单击,具体是哪 个键要看在tray中的鼠标键状态图标的指示),揿下5在鼠标键状态图标上的反应是相应的键的一次闪烁;“+”代替双击(同样也没有指定是哪个键的双击),在鼠标键图标 上的反应是相应的键连续闪烁两次;“*”代替左右两键的同时单击,在鼠标键图标上 的反应是相应的两个键同时闪烁一次,“/”是切换键,既是单击与双击间的切换,又是左键和右键间的切换;所有的这些状态都会在状态栏中的鼠标键图标上得到体现,当然左右键的状态是非常明显的显示在相应的图标上,而单击显示为灰色,双击显示为 黑色。“0(Ins)”键代替按下鼠标键(同样没有指明左右键),在鼠标键状态图标上的反应是相应的键由灰变黑,这个键为我们拖动文件夹,选择文档的部分内容提供了方便;“·(del)”键则代替释放鼠标键,在鼠标键图标上的反应是相应的键由黑变灰。还可以设置鼠标移动的速度(crl表示加速,shift表示减速),数字小键盘的开关键 不管你的桌面处于任何状态,按Win+E快捷键,打开Windows的资源管理器。此时 光标的默认位置定位于"我的电脑"上,按方向键移动到"控制面板"上,然后按Tab键跳动光标,继续按动方向键,选择"辅助选项",按Enter键确认,这时你会发现弹出一个"辅助选项属性"对话框。将Tab和方向键配合,选择对话框中的"鼠标"标签卡。到这一步,我们就可以着手设置"鼠标键"了。按下快捷键Alt+M,选中"使用'鼠标键'"复选框,就可以使"鼠标键"生效,做完这一步,可以使用小键盘来控制鼠标的指针方向和点击 操作。 上面的操作仅仅令"鼠标键"生效,如果想进一步设置鼠标键,则按Alt+S键,弹出"鼠 标键设置"对话框。按Alt+U选中"使用快捷方式",则以后你可以按"左Alt+在 Shift+NumLock"键以快速打开(关闭)"鼠标键"。按Alt+H选中"按住Ctrl键进行加速或按Shift键进行减速",则以后利用"鼠标键"移动"鼠标"时,可配合Ctrl键和Shift键 分别加速和减速移动鼠标指针。利用小键盘使用"鼠标键",NumLock是切换开关。如 果按"Alt+N"选定"打开",意即当NumLock按键处于打开状态时,小键盘用作"鼠标键";反之,按"Alt+F"选择"关闭",则意味着当NumLock按键处于关闭状态时,小键盘用作"鼠标键"。同理,按"Alt+S"键,选中"在屏幕上显示鼠标键状态"复选框,则可以看到 任务栏状态区中的"鼠标键"Tray标志,方便日后查看"鼠标键"状态以及设置相关参数。而鼠标键对鼠标操作的方法是: 1、移动 1) 要水平或垂直移动鼠标指针,请按小键盘上的"4"、"6"、"8"、"2"键,分别代表←、→、↑、↓四个方向。

利用VB建立鼠标键盘操作回放

利用VB建立鼠标键盘操作回放 很多的教学软件或系统监视软件可以自动记录回放用户的输入文字或点击按钮等操作操作,这个功能的实现是使用了Windows的Hook函数。本文介绍如何通过使用VB来实现鼠标键盘操作的纪录和回放。Windows提供API函数SetwindowsHookEx来建立一个Hook,通过这个函数可以将一个程序添加到Hook链中监视Windows消息,函数语法为: Public Declare Function SetWindowsHookEx Lib "user32" _ Alias "SetWindowsHookExA" _ (ByVal idHook As Long, _ ByVal lpfn As Long, _ ByVal hmod As Long, _ ByVal dwThreadId As Long) As Long 其中参数idHook指定建立的监视函数类型。通过Windows MSDN帮助可以看到,SetwindowsHookEx函数提供15种不同的消息监视类型,在这里我们将使用WH_JOURNALRECORD和WH_JOURNALPLAYBACK来监视键盘和鼠标操作。参数lpfn 指定消 息函数,在相应的消息产生后,系统会调用该函数并将消息值传递给该函数供处理。函数的一般形式为: Hookproc (code: Integer; wparam: WPARAM; lparam: LPARAM): LRESULT stdcall; 其中code为系统指示标记,wParam和lParam为附加参数,根据不同的消息监视类型而不同。只要在程序中建立这样 一个函数再通过SetwindowsHookEx函数将它加入到消息监视链中就可以处理消息了。 在不需要监视系统消息时需要调用提供UnHookWindowsHookEx来解除对消息的监视。WH_JOURNALRECORD和WH_JOURNALPLAYBACK类型是两种相反的Hook类型,前者获得鼠标、键盘动作消息,后者回放鼠 标键盘消息。所以在程序中我们需要建立两个消息函数,一个用于纪录鼠标键盘操作并保存到一个数组中,另一个用于 将保存的操作返给系统回放。 下面是具体的程序实现:首先建立一个新工程,在Form1中加入三个CommandButton控件用于控制消息钩子,另外还 可以增加若干Command或者TextBox控件用于检验操作回放的效果。然后在工程中增加一个模块文件,在模块中加入以下 定义和代码: Option Explicit Public Type EVENTMSG message As Long paramL As Long paramH As Long time As Long hwnd As Long End Type Public Declare Function CallNextHookEx Lib "user32" _ (ByVal hHook As Long, _

电脑死机鼠标键盘不能动怎么办

电脑死机鼠标键盘不能动怎么办 导读:我根据大家的需要整理了一份关于《电脑死机鼠标键盘不能动怎么办》的内容,具体内容:电脑出现死机故障在生活中是很常见的故障,那你知道电脑死机鼠标键盘不动的情况吗,下面就由我来给你们说说电脑死机鼠标键盘不动的原因及解决方法吧,希望可以帮到你们哦!电脑死机...电脑出现死机故障在生活中是很常见的故障,那你知道电脑死机鼠标键盘不动的情况吗,下面就由我来给你们说说电脑死机鼠标键盘不动的原因及解决方法吧,希望可以帮到你们哦! 电脑死机键盘鼠标不能动的解决方法一: 1、网络 检搜索查下网络,是不是网速不好啊,打开腾讯电脑管家一工具箱一网速测试,测试下是不是网速不怎么给力 2、电脑的温度 电脑开机时过长或是运行的软件过多风扇灰尘转速不够灰尘过多导致电脑过热,所以电脑会卡,打开腾讯电脑管家里硬件检测的检测温度的悬浮窗,可以随时查看你电脑的温度 3、电脑的垃圾过多 长时间使用电脑导致电脑的垃圾过多,可以使用腾讯电脑管的垃圾清理功能,清理下电脑的垃圾还有注册表、插件等来提升电脑的速度 4、运行的软件过多 有一些软件运行的话会占用电脑的宽带以及内存,这样也会导致卡,打

开腾讯电脑管家使用腾讯电脑管家里的电脑加速功能,优化一些不需要的软件,来提升电脑的速度 5、中了病毒、木马 也会导致电脑过慢,可以开启腾讯电脑管家小红伞查杀引擎(打开腾讯电脑管家一杀毒一扫描查杀)如果杀到木马或病毒后,应立即重启,重启电脑后,来到"隔离|恢复",彻底删除,木马和病毒! 其次: 第一招:当使用资源管理器打开新文件夹或用浏览器打开新页面不响应时,用"Win+D"或单击快速启动栏的显示桌面按钮,再在桌面上按F5或右键刷新即可。一般刷新3-5次后再把资源管理器或浏览器窗口还原就会恢复正常了。 第二招:这一招很灵,能对付大多数假死的情况。当任务管理器都打不开时,先把光驱弹出之后再弹入(千万不要在光驱里放光盘),鼠标指针旁会出现一个小光盘标志,这时就会唤起系统的知觉,这招可是屡试不爽!第三招:最后的杀手锏,用组合键"Ctrl+Alt+Del"启动任务管理器,然后在"进程"选项卡中结束explorer.exe,整个桌面只剩一张壁纸,桌面图标和任务栏都没影了,然后在任务管理器的"文件新建任务"中输入explorer.exe,即可恢复正常。这一招还可释放内存资源,一举两得。照下面的方法可以明显减少假死可能性: 能不用右键菜单的时候就尽量不用,尽量使用热键如用F2重命名、用F5刷新等。Windows Media Player最好不用可视化效果,用了往往会卡机。真想用的话,微粒是最不容易卡机的,建议用"微粒"可视化效果。不

真正的电脑高手是不用鼠标的 全键盘操作

真正的电脑高手是不用鼠标的全键盘操作 一、常见用法: F1显示当前程序或者windows的帮助内容。 F2当你选中一个文件的话,这意味着“重命名” F3当你在桌面上的时候是打开“查找:所有文件” 对话框 F10或ALT激活当前程序的菜单栏 windows键或CTRL+ESC打开开始菜单 CTRL+ALT+DELETE在win9x中打开关闭程序对话框 DELETE删除被选择的选择项目,如果是文件,将被放入回收站SHIFT+DELETE删除被选择的选择项目,如果是文件,将被直接删除而不是放入回收站 CTRL+N新建一个新的文件 CTRL+O打开“打开文件”对话框 CTRL+P打开“打印”对话框 CTRL+S保存当前操作的文件 CTRL+X剪切被选择的项目到剪贴板 CTRL+INSERT 或CTRL+C复制被选择的项目到剪贴板 SHIFT+INSERT 或CTRL+V粘贴剪贴板中的内容到当前位置 ALT+BACKSPACE 或CTRL+Z 撤销上一步的操作 ALT+SHIFT+BACKSPACE重做上一步被撤销的操作 Windows键+M最小化所有被打开的窗口。 Windows键+CTRL+M重新将恢复上一项操作前窗口的大小和位置 Windows键+E打开资源管理器 Windows键+F打开“查找:所有文件”对话框 Windows键+R打开“运行”对话框 Windows键+BREAK打开“系统属性”对话框 Windows键+CTRL+F打开“查找:计算机”对话框 SHIFT+F10或鼠标右击打开当前活动项目的快捷菜单 SHIFT在放入CD的时候按下不放,可以跳过自动播放CD。在打开wo rd的时候按下不放,可以跳过自启动的宏 ALT+F4关闭当前应用程序 ALT+SPACEBAR打开程序最左上角的菜单 ALT+TAB切换当前程序 贴子来源布衣天下联盟技术论坛 ALT+ESC切换当前程序 ALT+ENTER将windows下运行的MSDOS窗口在窗口和全屏幕状态间切换

adb shell中模拟键盘鼠标事件

Android自动化测试初探-5:再述模拟键盘鼠标事件(adb shell 实现) 2010-07-28 17:01 上一篇博文中讲述了通过Socket编程从外部向Emulator发送键盘鼠标模拟事件,貌似实现细节有点复杂。其实Android还有一种更简单的模拟键盘鼠标事件的方法,那就是通过使用adb shell 命令。 1. 发送键盘事件: 命令格式1:adb shell input keyevent “value” 其中value以及对应的key code如下表所列: KeyEvent Value KEYCODE Comment KEYCODE_UNKNOWN 1 KEYCODE_MENU 在SDK2.1的模拟器中命令失效,sendevent命令可行 2 KEYCODE_SOFT_RIGHT 3 KEYCODE_HOME 4 KEYCODE_BACK 5 KEYCODE_CALL 6 KEYCODE_ENDCALL

KEYCODE_0 8 KEYCODE_1 9 KEYCODE_2 10 KEYCODE_3 11 KEYCODE_4 12 KEYCODE_5 13 KEYCODE_6 14 KEYCODE_7 15 KEYCODE_8 16 KEYCODE_9 17 KEYCODE_STAR

KEYCODE_POUND 19 KEYCODE_DPAD_UP 20 KEYCODE_DPAD_DOWN 21 KEYCODE_DPAD_LEFT 22 KEYCODE_DPAD_RIGHT 23 KEYCODE_DPAD_CENTER 24 KEYCODE_VOLUME_UP 25 KEYCODE_VOLUME_DOWN 26 KEYCODE_POWER 27 KEYCODE_CAMERA 28 KEYCODE_CLEAR

VB编程的键盘控制

VB编程的键盘控制 我们利用Visual BASIC编写程序,多数情况只涉及到鼠标操作(如单击、双击、拖动等),但如果程序中需要实现文本编辑、热键激活或利用键盘进行游戏控制等功能时,将不可避免地碰到键盘捕获及处理的问题。下面,我们就来看一看VB编程中如何进行键盘控制。 一、概述 在VB中,很多控件都提供了键盘输入功能(如文本框、组合框等),但它们对键盘的处理较简单,遇到复杂一点的要求即无能为力。因而VB提供了KeyPress、KeyUp、KeyDown 三种键盘事件,当用户按键时,会触发这三种事件,而且窗体和接受键盘输入的控件都识别这三种事件。下表对这些事件作了描述。 KeyDown和KeyUp事件提供了最低级的键盘响应,可用这些事件检测KeyPress事件无法检测到的情况: ◆SHIFT、CTRL和ALT键的特殊组合。 ◆光标控制键。 ◆HOME、END、PAGEUP、PAGEDOWN等。 ◆数字小键盘的数字键与打字键盘数字键的区别。 ◆不仅响应按键操作而且响应释放键操作(KeyPress只响应按键操作)。 键盘事件彼此不相互排斥。按下某键时将生成KeyDown和KeyPress事件,而松开此键时生成KeyUp事件。当用户按下一个KeyPress不能检测的键时将触发KeyDown事件,松开此键时生成KeyUp事件。若使用KeyUp和KeyDown事件应确保KeyPress事件的功能不够用,通常编写KeyPress事件的代码比较容易。 二、KeyPress事件 在按下与ASCII字符对应的键时将触发KeyPress事件。ASCII字符集代表标准键盘的字母、数字和标点符号以及部分控制键(ENTER、TAB、BACKSPACE键等)。KeyDown 和KeyUp事件能够检测其它功能键、编辑键和光标定位键。当处理标准ASCII字符时应使用KeyPress事件。例如,如果希望将输入到文本框中的所有字符都强制转换为大写字符,则可在输入时使用此事件转换大小写: Private Sub Text1_KeyPress(KeyAscii As Integer) KeyAscii = Asc(Ucase(Chr(KeyAscii))) End Sub KeyAscii参数返回对应所按键的ASCII代码。 也可通过KeyPress事件识别部分控制键。例如,下述事件过程使用KeyPress检测用户是否正在按BACKSPACE键:

VC 模拟鼠标和键盘输入

VC 模拟鼠标和键盘输入 - 天下 - 博客频道 - https://www.sodocs.net/doc/eb15623812.html, 模拟鼠标点击: 1、这里是鼠标左键按下和松开两个事件的组合即一次单击: mouse_event (MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, 0, 0, 0, 0 ) 2、模拟鼠标右键单击事件: mouse_event (MOUSEEVENTF_RIGHTDOWN | MOUSEEVENTF_RIGHTUP, 0, 0, 0, 0 ) 3、两次连续的鼠标左键单击事件构成一次鼠标双击事件: mouse_event (MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, 0, 0, 0, 0 ) mouse_event (MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, 0, 0, 0, 0 ) 4、使用绝对坐标 MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_MOVE, 500, 500, 0, 0 需要说明的是,如果没有使用MOUSEEVENTF_ABSOLUTE,函数默认的是相对于鼠标当前位置的点,如果dx,和dy,用0,0表示,这函数认为是当前鼠标所在的点--直接设定绝对坐标并单击 mouse_event(MOUSEEVENTF_LEFTDOWN, X * 65536 / 1024, Y * 65536 / 768, 0, 0); mouse_event(MOUSEEVENTF_LEFTUP, X * 65536 / 1024, Y * 65536 / 768, 0, 0); 其中X,Y分别是你要点击的点的横坐标和纵坐标 模拟键盘输入: [cpp] void EnterString(const char* text) { bool bShift = false; size_t length = strlen(text); for(size_t index = 0;index < length;index++) { int val = text[index]; if(val >= 97 && val <= 122) //小写a-z { val -= 32; bShift = false; } else if(val >= 65 && val <= 90) //大写A-Z { bShift = true;

鼠标控制键盘

一般用左ALT+左SHIFT+NUM LOCK即可启动鼠标键。 首先打开控制面板,选中并打开辅助选项,单击“鼠标”标签,然后单击“使用鼠标键”状态框,使其状态为对勾,再单击“设置”按钮,在出现的“鼠标键设置”框里将鼠标速度调到最高和最快,最后依次按“确定”按钮。 鼠标键盘即“鼠标键”功能为开状态下的数字小键盘。具体键位功能如下: 除键“5”和键“0”外的八个数字键的功能分别为相应的鼠标图符运动方向, 键“5”功能为单击; 键“+”功能为双击; 键“0”功能为按住;其 键“.”功能为释放; 键“-”代表右键; 键“*”代表左右双键; 键“/”功能为恢复 键“5”单击鼠标左键的标准功能; 键“NumLock”为数字、鼠标键盘的切换键。 设置里:crl表示加速,shift表示减速 键按下时鼠标图符的移动是由慢到快加速进行的,当到达目标位置时松开即可。 执行程序或打开文档。 用鼠标键盘的方向键将鼠标图符移到程序或文档名处,敲击键“+”,功能实现。 选中。将鼠标图符移到目标处,敲击键“5”;或打开某文档,将鼠标图符移到预选中区域的首位置,敲击键“0”,再将鼠标图符移到预选中区域的尾位置,敲击键“.”,“选中”功能实现。拖放。选中目标,将鼠标图符移到选中区内,敲击键“0”,再将鼠标图符移到拖放目的位置,敲击键“.”,“拖放”功能实现。剪贴、复制、粘贴。选中目标,将鼠标图符移到目标区域内或目标位置,敲击键“-”(切换到鼠标右键),敲击键“5”(相当于单击鼠标右键),再将鼠标图符移到弹出选单的相应功能处,敲击键“/”(将键“5”的功能恢复到单击鼠标左键的标准状态),敲击键“5”,功能实现。现在用红外无线键盘和鼠标的人越来越多,当键盘技能当鼠标控制电脑时虽然不是那么的方便,当有时候也能应应急,感兴趣的人可以试试。

JAVA模拟键盘鼠标操作

//可以在eclipse下直接运行的示例程序: package key_robot; import java.awt.*; import java.awt.event.*; import javax.swing.JOptionPane; public class key_robot { public key_robot() { } // 鼠标单击,要双击就连续调用 private static void pressMouse(Robot r, int m, int delay) { r.mousePress(m); r.delay(10); r.mouseRelease(m); r.delay(delay); } // 键盘输入方法 private static void pressKeys(Robot r, int[] ks, int delay) { for (int i = 0; i < ks.length; i++) { r.keyPress(ks[i]); r.delay(10); r.keyRelease(ks[i]); r.delay(delay); } } public static void main(String[] args) throws Exception { final Robot rb = new Robot(); new Thread() { public void run() { rb.delay(2000); // 模拟回车 rb.keyPress(KeyEvent.VK_ENTER); rb.keyRelease(KeyEvent.VK_ENTER); } }.start();

VB常用快捷键

VB常用快捷键 窗体设置,控件布局时用: alt+v+x可以快速显示出工具框 Alt+P+N 引用 ctrl+左右键头可以移动控件 shift+左右键头调整控件大小 F7 切换到编辑窗口 Shift+f7 切换代码窗口 开发代码,调试代码都能用的: Ctrl+C复制 Ctrl+V粘贴 Ctrl+X剪贴 Ctrl+F查找 开发代码时用的: Tab 向右推 Shift+Tab 向左推 Ctrl+H 替换 Ctrl+J 呵呵,有点显丑。有几个函数。老要看总是记不住,呵呵(Alt+→)ctrl+home jump to 首行 ctrl+end jump to 末尾 调试时使用的: F5 运行 F8 断点运行 F9 设置/清除断点 Ctrl+G 立即窗口 Shift+F2 到定义处 Ctrl+Shift+F9 清除所有断点 Ctrl+shift+F2 到上次编辑处 Ctrl+PauseBreak 强行暂停程序(专门对付死循环之类的) shift+F9 可以监视表达式 Ctrl+W 编辑监视窗口 Ctrl+n n Enter 偶经常要另开一个程序先做试验,你们可能很少用吧?呵呵以上几个,是我使用中最多的。当然。其它的我也有使用。如:Ctrl+J(所选控件置前),Ctrl+J(所选控件置底),F7,Shift+F4还有那些Windows通用的那些快捷

键:Ctrl+C,Ctrl+V ,哈哈,这二个快捷键,偶好像使用次数。也可以在所有使用快捷中前几名呢!哈哈! 1、F1:显示MSDN帮助。当然你要安装MSDN,否则得不到真正的帮助了 2、F2:显示对象浏览器。这里你可以看到对象的各种属性、方法与事件 3、F3:查找一下个满足条件的内容 4、F4:显示当前选中控件的属性窗体 5、F5:运行程序(https://www.sodocs.net/doc/eb15623812.html,则是F8了) 6、F7:由窗体设计切换到对应的代码窗体 7、F8:单步执行程序 8、F9:切换断点 9、Alt+A:打开外接程序菜单 10、Alt+D:打开调试菜单 11、Alt+E:打开编辑菜单 12、Alt+F:打开文件菜单 13、Alt+H:打开帮助菜单 14、Alt+I:打开图表菜单 15、Alt+O:打开格式菜单 16、Alt+T:打开工具菜单 17、Alt+P:打开工程菜单 18、Alt+R:打开运行菜单 19、Alt+U:打开查询菜单 20、Alt+Q:退出 21、Alt+V:打开视图菜单 22、Alt+W:打开窗口菜单 23、Alt+→:根据输入的字符检索出可以使用的关键字 24、Tab:让选中的代码,集休缩进 25、Shift+F2:查看当前光标所在的变量或函数、子过程的定义。这一快捷键很方便,比如程序中有一个 call PubFunction ,你只要将鼠标在PubFunction 任意一处点中,然后按Shift+F2就可以直接转到函数的声明处。 26、Shift+F4:打开属性页窗口,与F4不一样哦 27、Shift+F5:重新启动 28、Shift+F7:由代码窗体切换到对应的窗体设计界面 29、Shift+F8:逐过程单步执行。按过程进行调试 30、Shift+F9:快速监视 31、Shift+Tab:让选中的代码集体凸出

总结Selenium WebDriver中一些鼠标和键盘事件的使用

本文将总结Selenium WebDriver 中的一些鼠标和键盘事件的使用,以及组合键的使用,并且将介绍WebDriver 中没有实现的键盘事件(Keys 枚举中没有列举的按键)的扩展。举例说明扩展Alt+PrtSc 组合键来截取当前活动窗口并将剪切板图像保存到文件。 在使用Selenium WebDriver 做自动化测试的时候,会经常模拟鼠标和键盘的一些行为。比如使用鼠标单击、双击、右击、拖拽等动作;或者键盘输入、快捷键使用、组合键使用等模拟键盘的操作。在WebDeriver 中,有一个专门的类来负责实现这些测试场景,那就是Actions 类,在使用该类的过程中会配合使用到Keys 枚举以及Mouse、Keyboard、CompositeAction 等类。 其次,在实际测试过程中,可能会遇到某些按键没办法使用Actions、Keys 等类来实现的情况。比如通过使用Alt+PrtSc 组合键来实现截取屏幕当前活动窗口的图像,在Keys 枚举中,因为没有枚举出PrtSc 键,所以没办法通过Action 的KeyDown(Keys) 来模拟按下这个动作。 再次是在自动化测试中,可能会遇到一些附件、文件上传的场景,或者是多文件上传,这些在Selenium2.0 之后,可以直接使用WebElement 类的sendKeys() 方法来实现。 下面就分别介绍这些情况的具体使用。 鼠标点击操作 鼠标点击事件有以下几种类型: 清单1. 鼠标左键点击 Actions action = new Actions(driver);action.click();// 鼠标左键在当前停留的位置做单击操作 action.click(driver.findElement(https://www.sodocs.net/doc/eb15623812.html,(element)))// 鼠标左键点击指定的元素 清单2. 鼠标右键点击 Actions action = new Actions(driver); action.contextClick();// 鼠标右键在当前停留的位置做单击操作 action.contextClick(driver.findElement(https://www.sodocs.net/doc/eb15623812.html,(element)))// 鼠标右键点击指定的元素 清单3. 鼠标双击操作 Actions action = new Actions(driver); action.doubleClick();// 鼠标在当前停留的位置做双击操作

电脑小键盘无法使用的故障解决方法

电脑小键盘无法使用的故障解决方法 平时用的好好的电脑,突然无法使用数字小键盘区域了,通过搜索下终于解决的问题,下面小编就这个问题简单的整理下小键盘无法使用的故障解决方法,欢迎大家参考和学习。 第一个原因:随着操作系统的升级,默认情况下NumLock 灯不亮的话是无法使用数字小键盘的。 通过按一下数字键盘左上角的"NumLock"键即可解决。如果不是这个问题,可以继续往下看 第二个原因:我的电脑不能使用键盘右边的小数字键区域了,“NumLock”灯是亮的,前几天还好好,我又没有动什么地方。请问问题出在哪里 如果你使用的是Windows2000/XP的话,可能是由于启动了鼠标键功能,小数字键盘就被用来控制鼠标指针,失去了输入功能。选择“控制面板→辅助功能选项→鼠标”,然后将“使用鼠标键”去掉即可。 上面的操作也可以通过下面的方法实现原理都是一样的。 现在我打开数字键,步骤如下: ——》连续按下SHIFT键5次或者按下SHIFT+CTRL+ALT ——》在跳出来的“粘滞键”选择“设置” ——》将会跳出“辅助功能选项”,并选中“鼠标”选项卡。

——》把“使用鼠标键”前面的对号去掉 ——》点击“应用”“确定”即可 这样设置,我们的小键盘上的数字键就可以使用了。 也许有的电脑用户还不知道,小键盘的数字键是可以当鼠标用的,方法正好和上面的操作相反。 如果把小键盘的数字键当鼠标使用,只要在“使用鼠标键”前面打钩就可以了。 此时“8”代表向上移动按钮,“2”代表向下移动按钮,“5”代表回车按钮等等! 其它原因:如果经常出现问题,可能是死机了或系统有问题,建议重启或重新安装系统。 下面小编再为大家介绍一下笔记本键盘按键失灵怎么办,欢迎大家继续阅读下去。 笔记本电脑的“键盘按键失灵”一般都是因为在线路板或导电塑胶上有污垢,从而使得两者之间无法正常接通。但是也不排除其他因素,如键盘插头损坏,线路有问题,主板损坏、CPU工作不正常等,但并非主要原因。因此我们只需要进行除垢工作便可。 操作的步骤如下: 1.拆开键盘。注意在打开键盘时,一定要按钮面(也就是我们操作的一面)向下,线路板向上,否则每个按键上的导电塑胶会纷纷脱落,给您的修理带来麻烦。 2.翻开线路板,线路板一般都用软塑料制成的薄膜,上面刻

模拟键盘鼠标事件

android中的MotionEvent 及其它事件处理 2014-09-18 08:47 7386人阅读评论(0) 收藏举报 MotionEvent对象 当用户触摸屏幕时将创建一个MotionEvent对象。MotionEvent包含关于发生触摸的位置和时间等细节信息。MotionEvent对象被传递到程序中合适的方法比如View对象的onTouchEvent()方法中。在这些方法中我们可以分析MotionEvent对象那个,以决定要执行的操作。 MotionEvent对象是与用户触摸相关的时间序列,该序列从用户首次触摸屏幕开始,经历手指在屏幕表面的任何移动,直到手指离开屏幕时结束。手指的初次触摸(ACTION_DOWN 操作),滑动(ACTION_MOVE操作)和抬起(ACTION_UP)都会创建MotionEvent对象。所以每次触摸时候这三个操作是肯定发生的,而在移动过程中会产生大量事件,每个事件都会产生对应的MotionEvent对象记录发生的操作,触摸的位置,使用的多大压力,触摸的面积,合适发生,以及最初的ACTION_DOWN和时发生等相关的信息。 在设置事件时我们有2种设置的方式,一种是委托式一种是回调式。第一种就是将事件的处理委托给监听器处理,你可以定义一个View.OnTouchListener接口的子类作为监听器,其中有onTouch()方法。而第二种是重写View类自己本身的onTouchEvent方法,也就是控件自己处理事件。onTouch方法接收一个MotionEvent参数和一个View参数,而onTouchEvent方法仅接收MotionEvent参数。这是因为监听器可以监听多个View 控件的事件。通过MotionEvent方法getation可以得到该Motionevent具体是哪个操作如ACTION_DOWN。 1、MotionEvent中getAction()与getActionMasked()的区别 如果我们在监听Ontouch()里面测试的时候会发现,这两个返回值竟然是一样的。查询API 我们发现ACTION_MASK说明是:Constant Value: 255 (0x000000ff)。也就是哦0Xff. public final intgetAction () Return the kind of action being performed. Consider using getActionMasked() and getActionIndex() to retrieve the separate masked action and pointer index. 翻译意思大概是返回action的类型,考虑使用getActionMasked()和getActionIndex()来获得单独的经过掩码的action和触控点的索引. public final intgetActionMasked () Return the masked action being performed, without pointer index information. Use getActionIndex() to return the index associated with pointer actions.

VB 有关鼠标的操作

VB 有关鼠标的操作   假如没有鼠标,电脑的普及率绝对没有目前这么高。在windows下,鼠标的作用不亚于键盘。因此,在VB中设计基于windows下的应用程序,鼠标的操作和设计是非常重要的。 一、鼠标的移动、按键事件 要想在VB程序中自如应用鼠标,先要了解有关鼠标的事件,并学会如何编写这些事件过程。最常见的鼠标事件有: 当在某个对象上移动鼠标、按下鼠标按键、释放鼠标按键时均会触发鼠标事件,它们分别是:MouseMove、MouseDown、MouseUp。   这三个鼠标事件过程均会返回四个参数:Button As Integer, Shift As

具体解释如下: 1、 MouseDown事件 当单击鼠标上的任何一个按键之后,都会引起MouseDown事件。许多对象都有这个事件。如用鼠标在窗体上单击,可以引发这个事件,用鼠标单击“按钮”“标签”“文本框”等对象也可以引发这个事件。该事件还带回来不少参数,下面是鼠标单击窗体任何位置所引发的MouseDown事件,单击其它对象所带回的参数与此相同: Private Sub Form_MouseDown(Button As Integer,Shift As Integer,X As Integer,Y As Integer)   End Sub 其中: (1)、Button参数 Button参数带回来的信息是用户按了鼠标上的哪能一个键,左键?右键?还是中间键? Button=1,说明用户按的是鼠标的左键; Button=2,说明用户按的是鼠标的右键; Button=4,说明用户按的是鼠标的中间键;   (2)、Shift参数 Shift参数带回来的是用户按鼠标按键时是否同时按下了键盘上的Shift、Ctrl、Alt键。 Shift=1,说明用户在按下鼠标按键的同时,还按下了键盘上的Shift键;Shift=2,说明用户在按下鼠标按键的同时,还按下了键盘上的Ctrl键;

USB模拟鼠标与键盘使用说明

第一章使用说明 1.1 功能简介 本例程是用实验板来模拟鼠标或键盘,即将相关程序下载到单片机,并将学习板与电脑通过U口连接后,本学习板可以当作U口的鼠标或者键盘来用。 其中能够模拟实现的鼠标功能为:鼠标左移、右移、上移、下移,鼠标左键按下和右键按下。 能够模拟实现的键盘功能为:数字1和2的键入、SHIFT和ALT功能键的键入、大小写切换和小键盘数字键功能的键入。 本例程共用到学习板上的六个按键,位于矩阵键盘左上角的S6、S7、S10、S11、S14和S15。 1.2鼠标的信息说明 将UsbMouse.hex文件下载到单片机中,且之后保证USB1口(位于学习板左上方)与电脑的U口处于连接状态(USB1口即为TX-1C开发板的U口)。 稍等片刻,便会先后在电脑屏幕的右下角出现下面两个提示(此提示只在第一次安装时出现): 图1.1 系统发现新硬件提示 图1.2安装成功提示 右键单击“我的电脑”,选中“管理”项,点击并进入,在其左侧的项目栏里点击“设备管理器”,便会发现其中多了如下一个设备,也就是我们的TX-1C开发板所模拟的鼠标,如图1.3所示。

图1.3 设备描述显示 双击“USB人体学输入设备”,会弹出如图1.4和图1.5的属性描述 图1.4 属性描述---常规选项卡

图1.5 属性描述---详细信息选项卡 1.3 鼠标的使用说明 在使用USB模拟鼠标与键盘功能之前,请确保将芯片PDIUSBD12左侧的两根插针用跳帽连接起来(这两根跳帽是用于芯片PDIUSBD12向单片机发出中断的连接线)!!! 总共使用到的矩阵键盘中的六个按键的功能分别如表1.1所示 据此, 面上实验一下,体会自制鼠标的乐趣。 1.4 键盘的相关说明 将文件夹“键盘实例”中的UsbKeyboard.hex文件下载到单片机中,并通过USB 线将TX-1C学习板与电脑U口连接后,同样会出现如图1.1.、图1.2类似的安装信息(也是在第一次安装时提示,以后都不再提示,除非更改程序中的相关设备描述信息,让电脑以为是一个以前从未连接过的设备连接了。)同样的打开设备管理器,也可以找到如图1.3、图1.4、图1.5类似的信息。在此就不再赘述了。下面列出相关按键的功能,如表1.2所示。

不能用U盘USB——可以使用鼠标键盘

要做到你的要求,最佳办法就是利用“组策略”功能了。 1. 点击“运行”命令;输入“gpedit.msc”,打开组策略的设置界面; 如上所示,在左侧找到管理面板——系统里(在右边)的“可移动存储访问”选项,双击,进入下一个界面; 如上所示,根据你的要求,在右边的选项里,双击你要设置的对象,根据说明进行设置即可。 就这么简单! 方法一 1. 1

运行方式 在开始菜单中打开运行,或者直接按win+r键盘组合键打开。 2. 2 然后,在运行框中输入 gpedit.msc 之后,点击确定或者直接按键盘上的回车键。 3. 3 这时,组策略编辑器就打开了。你可以进行设置了。

4. 4 如果你记不住组策略编辑器的命令,你可以用下面的方法。 END 方法二 1. 1 搜索方式。 这种方法是比较简单的。首先打开开始菜单,在开始菜单的最下文有一个小的搜索框。你点击一下这个搜索框,使其处于输入状态。

2. 2 在这个搜索框中输入“编辑组” 三个字。然后搜索结果会在上方显示,或者你可以直接输入完成后按回车键,这样可以即时搜索,加快搜索的速度。 3. 3 搜索结果在上方出现了,即编辑组策略。这就是组策略编辑器的程序入口。你可以直接用鼠标左键点击它,然后就能进入组策略编辑器了。

END 方法三 1.查找方式。 第三种方法也比较简单。大家也可以参考一下。首先打开计算机,你可以在桌面上打开,也可以在开始菜单中打开。 2.在资源管理器中,你用鼠标左键点击一下资源管理器的地址栏,使其处于可 输入状态。

3.然后,在这人地址栏中,输入这样一串字符。 即C:\WINDOWS\system32\gpedit.msc 然后点击右边的小箭头,或者直接回车打开。要注意不要输错位置。为了防止出错,此地址最好在本经验中复制。 4.回车之后,直接就打开了组策略编辑器。

相关主题