VB设计计算器,删除键是这么写的,leftshift是哪个键函数显示出错了,请问错在哪里应该怎么改啊求大神指点。

内容提示:VB方法使用大全

文档格式:PDF| 浏览次数:867| 上传日期: 15:19:36| 文档星级:?????

全文阅读已结束如果下载本文需要使用

该用户还上传了这些文档

哈又是「虚拟」,您喜欢这个詞吗虚拟指的是假定存在於思想中而不是现实世界中的一些事物,也只有熟练使用DOS组合语言编写应用程式的程式写作者才有可能指出為什么对Windows键盘处理如此基本的键码是虚拟的而不是真实的。

对於早期的程式写作者来说真实的键码由实际键盘硬体产生。在Windows文件中将这些键码称为「扫描码(scan codes)」在IBM相容机种上,扫描码16是Q键17是W键,18是E、19是R20是T,21是Y等等这时您会发现,扫描码是依据键盘的实际布局的Windows开發者认为这些代码过於与设备相关了,於是他们试图通过定义所谓的虚拟键码以便经由与装置无关的方式处理键盘。其中一些虚拟键码鈈能在IBM相容机种上产生但可能会在其他制造商生产的键盘中找到,或者在未来的键盘上找到

您使用的大多数虚拟键码的名称在WINUSER.H表头档案中都定义为以VK_开头。表6-2列出了这些名称和数值(十进位和十六进位)以及与虚拟键相对应的IBM相容机种键盘上的键。下表也标出了Windows执行時是否需要这些键下表还按数位顺序列出了虚拟键码。

您永远都不会从键盘讯息中获得这些滑鼠键代码在下一章可以看到,我们能够從滑鼠讯息中获得它们VK_CANCEL代码是一个虚拟键码,它包括同时按下两个键(Ctrl-Break)Windows应用程式通常不使用此键。

注意许多名称(例如VK_PRIOR和VK_NEXT)都与键上嘚标志不同,而且也与卷动列中的识别字不统一Print Screen键在平时都被Windows应用程式所忽略。Windows本身回应此键时会将视讯显示的点阵图影本存放到剪贴板中假使有键盘提供了VK_SELECT、VK_PRINT、VK_EXECUTE和VK_HELP,大概也没几个人看过那样的键盘

Windows用VK_LWIN和VK_RWIN键打开「开始」功能表或者(在以前的版本中)启动「工作管理員程式」。这两个都可以用於登录或登出Windows(只在Microsoft Windows NT中有效)或者登录或登出网路(在Windows for Applications中)。应用程式能够通过显示辅助资讯或者当成捷径鍵看待来处理application键

最後,虽然多数的键盘都有12个功能键但Windows只需要10个,而位元旗标却有24个另外,程式通常用功能键作为键盘加速键这樣,它们通常不处理表6-8所示的按键:

如果要向目标程序发送字符光靠WM_KEYDOWN和WM_UP这两个事件还不行,还需要一个事件:WM_CHAR这个消息表示一个字符,程序需靠它看来接受输入的字符一般只有A,BC等这样的按键才有WM_CHAR消息,别的键(比如方向键和功能键)是没有这个消息的WM_CHAR消息一般发生茬WM_KEYDOWN消息之后。WM_CHAR消息的lParam参数的含义与其它键盘消息一样而它的wParam则表示相应字符的ASCII编码(可以输入中文的哦^_^),现在你可以写出一个完整的向记倳本里自动写入字符的程序了下面是一个例子,并附有这些消息常数的具体值:

这就是通过局部键盘消息来模拟按键这个方法有一个極大的好处,就是:它可以实现后台按键也就是说他对你的前台操作不会有什么影响。

你会发现用上面的方法模拟按键并不是对所有程序都有效的,有的程序啊你向它发了一大堆消息,可是它却一点反应也没有这是怎么回事呢?这就要看具体的情况了有些程序(特別是一些游戏)出于某些原因,会禁止用户对它使用模拟按键程序这个怎么实现呢?比如可以在程序中检查一下如果发现自己不是活动窗口,就不接受键盘消息或者仔细检查一下收到的键盘消息,你会发现真实的按键和模拟的按键消息总是有一些小差别从这些小差别仩,目标程序就能判断出:这是假的!是伪造的!!因此如果用PostMessage发送局部消息模拟按键不成功的话,你可以试一试全局级的键盘消息看看能不能骗过目标程序。

模拟全局键盘消息常见的可以有以下一些方法:

(1) 用API函数keybd_event这个函数可以用来模拟一个键盘事件,它的VB声明为:

參数bVk表示要模拟的按键的虚拟码bScan表示该按键的扫描码(一般可以传0),dwFlags表示是按下键还是释放键(按下键为0释放键为2),dwExtraInfo是扩展标志一般没囿用。比如要模拟按下A键可以这样:

注意有时候按键的速度不要太快,否则会出问题可以用API函数Sleep来进行延时,声明如下:

参数dwMilliseconds表示延時的时间以毫秒为单位。

那么如果要模拟按下功能键怎么做呢比如要按下Ctrl+C实现拷贝这个功能,可以这样:

好了现在你可以试试是不昰可以骗过目标程序了,这个函数对大部分的窗口程序都有效可是仍然有一部分游戏对它产生的键盘事件熟视无睹,这时候你就要用仩bScan这个参数了。一般的bScan都传0,但是如果目标程序是一些DirectX游戏那么你就需要正确使用这个参数传入扫描码,用了它可以产生正确的硬件倳件消息以被游戏识别。这样的话就可以写成这样:

以上就是用keybd_event函数来模拟键盘事件。除了这个函数SendInput函数也可以模拟全局键盘事件。SendInput可以直接把一条消息插入到消息队列中算是比较底层的了。它的VB声明如下:

plnputs:指向INPUT结构数组的指针每个结构代表插人到键盘或鼠标輸入流中的一个事件。

cbSize:定义INPUT结构的大小若cbSize不是INPUT结构的大小,则函数调用失败

返回值:函数返回被成功地插人键盘或鼠标输入流中的倳件的数目。若要获得更多的错误信息.可以调用GetlastError函数

备注:Sendlnput函数将INPUT结构中的事件顺序地插入键盘或鼠标的输入流中。这些事件与用户插叺的(用鼠标或键盘)或调用keybd_eventmouse_event,或另外的Sendlnput插人的键盘或鼠标的输入流不兼容

第一章 Visual Basic概述 1.1知识点归纳 1.VB的特点 (1)面向对象的可视化编程? 把程序和数据“封装”起来成为一个对象;每个对象都是可视的;从VB工具箱中选用控件(即现成部件,如文夲框、命令按钮等)构成应用程序的用户界面。 (2)事件驱动的编程机制 传统的程序设计语言面向过程,VB语言面向对象通过事件来触发執行相应的事件过程(“事件驱动”) 从而执行对象的操作,达到运算、处理的目的 (3)结构化的设计语言。? (4)友好的VB集成开发环境 2.VB中对象的基本概念 (1)类和对象? 类:一组用来定义对象的相关属性和数据的集合。类是创建对象的模型对象则是按模型生产出来嘚成品。 例如人可以称之为类,而每一个人却只能看做是对象。对象是VB系统中的基本运行实体是一组程序代码和数据的集合。 (2)對象的三要素 对象的三要素包括:属性、方法和事件 ① 属性:对象的外部特征,即用来描述和反映对象特征的参数不同的对象有不同嘚属性。每一个对象都有一组特定的属性可以通过属性窗口或代码窗口对对象的属性进行设置。 ②方法:是对象能够执行的动作它是對象本身内含的一些特殊函数或过程,用于完成某种特定的功能供用户直接调用。 ③事件:由系统预先设置好的、能被对象识别的动作一个对象可以识别响应多个不同的事件。 3.事件、事件过程及事件驱动 ① 事件:由系统预先设置好的、能被对象识别的动作发生在用戶与应用程序交互时。如单击控件、鼠标移动、键盘按下等 ② 事件过程:指附在对象上的用户编写的程序代码,是事件的处理程序由倳件控制整个程序的执行流程,当某个事件(一般由用户操作来触发) 发生时系统就会自动执行此事件的事件过程。 ③ 事件驱动方式:是图形用户界面的本质由用户控制而代码作出响应。 即事件过程要经过事件的触发才能被执行这种工作模式称为事件驱动方式。 4.设计VB应鼡程序的步骤? VB应用程序的开发大致分为两大部分的工作:设计用户界面和编写程序代码。即先要确定对象然后针对这些对象编写代碼。基本步骤如下: (1) 建立工程;? (2) 设计用户界面;? (3) 设置对象的属性值;? (4) 编写程序代码建立事件过程; (5)保存应用程序; (6)运行囷调试应用程序; (7)生成可执行文件。? 5.控件 控件是建立VB应用程序的基本元素是VB中预先定义好的、编程能直接使用的对象,可视化設计就是通过控件实现的利用控件创建对象是VB编程的一项重要工作。VB中的控件一般可分为三大类:内部控件、ActiveX控件和可插入的对象控件(也叫插件): (1)内部控件(也称标准控件):包含在VB系统中默认状态下在工具箱中以图形的形式显示,这些控件既不能添加也不能删除。如:文本框、标签、命令按钮等 (2)ActiveX控件:存放于扩展名为.ocx的独立文件中,其中包括VB各种版本提供的控件和仅在专业版和企业蝂中提供的控件另外还有许多第三方提供的ActiveX控件。 (3)可插入的对象控件:是指能够添加到工具箱中的对象添加的方法是选择“工程|蔀件”菜单选项打开部件窗口,在“可插入对象”选项卡选择相应文件添加到工具箱中。 每个控件都有自己的属性、方法和能够识别响應的事件 6.VB的工作模式 VB是一个集成编辑、编译与运行于一起的集成开发系统。在程序设计过程中其工作状态可分为3中模式:设计模式、運行模式和中断模式为了调试程序,用户必须知道系统当前所处的工作模式及其能实施的相关操作 (1)设计模式:用于用户基本界面嘚设计、相关控件的属性设置和程序代码编制。 (2)运行模式:用于在编辑代码过程中编译执行应用程序以观察运行效果或进行代码调試。在该模式下不能对程序界面及代码进行编辑。 (3)中断模式:用于程序运行过程中的暂时中断这时可以编辑程序代码,并可在“竝即窗口”中显示变量值、中间结果或运行其他命令但不可编辑界面。该模式主要用作程序代码的调试和中间结果的检查在此模式下,选择“运行”菜单下的“继续”选项可以继续运行程序选择“结束”选项可以中止程序的运行。 7.VB 常见的错误类型 (1)编辑错误:在編辑代码时VB会对键入的代码直接进行语法检查。当发现代码存在打字错误遗漏关键字或标点符等语法错误,VB在Form窗口中弹出一个子窗口提示出错信息,出错的那一行变成红色这时,用户必须单击“确定”按钮关闭出错提示窗,然后对出错行进行修改 (2)编译错误:指按了“启动”按钮,VB开始运行程序前先编译执行的程序段时,产生的错误此类错误由于用户未定义变量、遗漏关键字等原因产生。这时Visual Basic也弹出一个子窗口,提示出错信息

我要回帖

更多关于 leftshift是哪个键 的文章

 

随机推荐