文档库 最新最全的文档下载
当前位置:文档库 › Delphi键盘值

Delphi键盘值

Delphi键盘值
Delphi键盘值

c#钩子实例

C#键盘勾子(Hook)拦截器,屏蔽键盘活动 钩子(Hook),是Windows消息处理机制的一个平台,应用程序可以在上面设置子程以监视指定窗口的某种消息,而且所监视的窗口可以是其他进程所创建的。当消息到达后,在目标窗口处理函数之前处理它。钩子机制允许应用程序截获处理window消息或特定事件。 钩子实际上是一个处理消息的程序段,通过系统调用,把它挂入系统。每当特定的消息发出,在没有到达目的窗口前,钩子程序就先捕获该消息,亦即钩子函数先得到控制权。这时钩子函数即可以加工处理(改变)该消息,也可以不作处理而继续传递该消息,还可以强制结束消息的传递。 运行机制 1、钩子链表和钩子子程: 每一个Hook都有一个与之相关联的指针列表,称之为钩子链表,由系统来维护。这个列表的指针指向指定的,应用程序定义的,被Hook 子程调用的回调函数,也就是该钩子的各个处理子程。当与指定的Ho ok类型关联的消息发生时,系统就把这个消息传递到Hook子程。一些Hook子程可以只监视消息,或者修改消息,或者停止消息的前进,避免这些消息传递到下一个Hook子程或者目的窗口。最近安装的钩子放在链的开始,而最早安装的钩子放在最后,也就是后加入的先获得控制权。

Windows 并不要求钩子子程的卸载顺序一定得和安装顺序相反。每当有一个钩子被卸载,Windows 便释放其占用的内存,并更新整个Ho ok链表。如果程序安装了钩子,但是在尚未卸载钩子之前就结束了,那么系统会自动为它做卸载钩子的操作。 钩子子程是一个应用程序定义的回调函数(CALLBACK Function),不能定义成某个类的成员函数,只能定义为普通的C函数。用以监视系统或某一特定类型的事件,这些事件可以是与某一特定线程关联的,也可以是系统中所有线程的事件。 钩子子程必须按照以下的语法: LRESULT CALLBACK HookProc ( int nCode, WPARAM wParam, LPARAM lParam ); HookProc是应用程序定义的名字。 nCode参数是Hook代码,Hook子程使用这个参数来确定任务。这个参数的值依赖于Hook类型,每一种Hook都有自己的Hook代码特征字符集。

电脑键盘按键使用详解

电脑键盘按键使用详解 我们常见的键盘是101或102键的键盘。随着Win95和Win98的出现,新型的104键的键盘也出现了,这种键盘的布局和常见的101或102键键盘相近,但它的左右Alt键旁各多出一个Start键,按一下即可打开Start 菜单,另外右边还多出一个Application键。 键盘上功能键区是位于键盘上部的一排按键,从左到右分别是:Esc 键,一般起退出或取消作用;跟着是F1~F12共12个功能键,一般是作"快捷键"用;Print Screen键,在DOS环境下,其功能是打印整个屏幕信息,在Windows环境下,其功能是把屏幕的显示作为图形存到内存中,以供处理;Scroll Lock键,在某些环境下可以锁定滚动条,在右边有一盏Scroll Lock指示灯,亮着表示锁定;Pause/Break键,用以暂停程序或命令的执行。 打字键区的键主要是由字母键、数字键、符号键和制表键等组成,它的按键数目及排列顺序与标准英文打字机基本一致,通过打字键区可以输入各种命令,但一般是和编辑控制区一起用以文字的录入和编辑。编辑控制区主要用于控制光标的移动。 副键盘区是为提高数字输入的速度而增设的,由打字键区和编辑控制区中最常用的一些键组合而成,一般被编制成适合右手单独操作的布局。只有一个Num Lock键是特别的,它是数字输入和编辑控制状态之间的切换键。在它正上方的Num Lock指示灯就是指示所处的状态的,当指示灯亮着的时候,表示副键盘区正处于数字输入状态,反之则正处于编辑控制状态。 常用的键盘上有101个键或103个键,分别排列在四个主要部分:打

字键区、功能键区、编辑键区、小键盘区。空格键 Scroll Lock]为屏幕滚动显示锁定键,目前该键已作废。[Scroll Lock]键最早出现在IBM的PC/XT机型的83键盘和AT接口的84键盘上,现在这个键不仅仅出现在PC机的101键盘上,连苹果机的“增强”型键盘上也加上了该按键。该键在DOS时期用处很大,由于当时显示技术,限制了屏幕只能显示宽80个字符长25行的文字,在阅读文档时,使用该键能非常方便地翻滚页面。随着技术发展,在进入Windows时代后,Scroll Lock键的作用越来越小,不过在Excel中它还是有点用处:如果在Scroll Lock关闭的状态下使用翻页键(如Page Up和Page Down)时,单元格选定区域会随之发生移动;反之,若要在滚动时不改变选定的单元格,那只要按下Scroll Lock即可。 [Print Screen]为屏幕硬拷贝键,在DOS环境下,其功能是打印整个屏幕信息,在Windows环境下,其功能是把屏幕的显示作为图形存到内存中,以供处理 [Esc]Esc]键,一般起退出或取消作用 [Scroll Lock]在某些环境下可以锁定滚动条,在右边有一盏[Scroll Lock]指示灯,亮着表示锁定 [Pause/Break]用以暂停程序或命令的执行。如:启动电脑时,按下此键可以查看POST开机自检信息 在进入系统前的开机自检,可以按这个键让自检暂停下来,从自检画面中了解计算机更多的硬件信息。进入Windows后,用“windows徽标键”(就是位于左边ctrl键和alt键中间的那个)+Pause Break可以打“系统属性”对话框,和在“我的电脑”图标上点击右键选择“属性”的效果是一样的。 [Num Lock]键是特别的,它是数字输入和编辑控制状态之间的切换键。在它正上方的Num Lock指示灯就是指示所处的状态的,当指示灯亮着的时候,表示副键盘区正处于数字输入状态,反之则正处于编辑控制状态。 [Caps Lock](大写字母锁定键)该键是一个开关键,用来转换字母大小写状态。这时:(1)如果CapsLock指示灯发亮,则键盘处于大写字母锁定状态:1)这时直接按下字母键,则输入为大写字母;2)如果按住[Shif]键的同时,再按字母键,输入的反而是小写字母。(2)如果这时CapsLock指示灯不亮,则大写字母锁定状态被取消。(注:要让字母以大写输出有两个办法:(1)按shift键同时再按字母键(2)用Caps Lock 键进行大小写转换。如果同时使用两种方面,则反而成小写)

鼠标键盘钩子截获密码

利用鼠标键盘钩子截获密码。 源码示例:https://www.wendangku.net/doc/1a1359470.html,/soft/GetPass_Src.rar 钩子能截获系统并得理发送给其它应用程序的消息,能完成一般程序无法完成的功能。掌握钩子的编程方法是很有必要的 钩子分类: 1、WH_CALLWNDPROC和WH_CALLWNDPROCRET:使你可以监视发送到窗口过程的消息 3、WH_DEBUG 调试钩子 4、WH_FOREGROUNDIDLE 当当应用程序的前台线程大概要变成空闲状态时,系统就会调用 WH_FOREGROUNDIDL 5、WH_JOURNALRECORD 监视和记录输入事件 6、WH_JOURNALPLAYBACK 回放用WH_JOURNALRECORD记录事件 7、WH_KEYBOARD 键盘钩子 9、WH_KEYBOARD_LL 低层键盘钩子 10、WH_MOUSE 鼠标钩子 11、WH_MOUSE_LL 底层鼠标钩子 12、WH_SHELL 外壳钩子 13、WH_MSGFILTER 和WH_SYSMSGFILTER 使我们可以监视菜单,滚动条,消息框等 安装钩子: 调用函数SetWindowsHookEx安装钩子。其函数原型为: HHOOK SetWindowsHookEx( int idHook,HOOKPROC lpfn, INSTANCE hMod,DWORD dwThreadId ) idHook表示钩子类型,它是和钩子函数类型一一对应的。如,

WH_KEYBOARD,WH_MOUSE。 Lpfn是钩子函数的地址。 HMod是钩子函数所在的实例的句柄。对于线程钩子,该参数为NULL;对于系统钩子,该参数为钩子函数所在的DLL句柄。(系统钩子必须在DLL中) dwThreadId 指定钩子所监视的线程的线程号。对于全局钩子,该参数为NULL。 SetWindowsHookEx返回所安装的钩子句柄。 卸载钩子 调用函数BOOL UnhookWindowsHookEx( HHOOK hhk)卸载钩子 定义钩子函数 钩子函数是一种特殊的回调函数。钩子监视的特定事件发生后,系统会调用钩子函数进行处理。一般为下: LRESULT WINAPI MyHookProc(int nCode ,WPARAM wParam,LPARAM lParam) 参数wParam和lParam包含所钩消息的信息,比如鼠标位置、状态,键盘按键等。nCode 包含有关消息本身的信,比如是否从消息队列中移出。 实例: 下面我们通过安装鼠标钩子。和键盘钩子还截获输入的密码,并可查看*密码为例,来说明何何使用钩子。 1,进入向导,新建MFC AppWizard(dll) 取名为GetPass,选择MFC Extension DLL,完成。 2,新建一个CGetPassHook 类,基类:CObject,并加入StartHook,StopHook,函数,如下:class AFX_EXT_CLASS CGetPassHook : public CObject { public: BOOL StopHook();

用delphi编写的记事本代码.

unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Menus, StdCtrls, ComCtrls, ExtCtrls, ToolWin, ImgList; type TForm1 = class(TForm MainMenu1: TMainMenu; RichEdit1: TRichEdit; OpenDialog1: TOpenDialog; SaveDialog1: TSaveDialog; N1: TMenuItem; N2: TMenuItem; N3: TMenuItem; FontDialog1: TFontDialog; N4: TMenuItem; N5: TMenuItem; N6: TMenuItem; N7: TMenuItem; N8: TMenuItem; N9: TMenuItem; N10: TMenuItem; N11: TMenuItem; N12: TMenuItem; N13: TMenuItem; N14: TMenuItem; N15: TMenuItem; N16: TMenuItem; N17: TMenuItem; N18: TMenuItem; N19: TMenuItem; N20: TMenuItem; PopupMenu1: TPopupMenu; FindDialog1: TFindDialog; N21: TMenuItem; PrintDialog1: TPrintDialog; N22: TMenuItem; N23: TMenuItem; N24: TMenuItem; N25: TMenuItem; N26: TMenuItem; N27: TMenuItem; N28: TMenuItem; N31: TMenuItem; N32: TMenuItem; S1: TMenuItem; Timer1: TTimer; StatusBar2: TStatusBar; ToolBar1: TToolBar; ToolButton1: TToolButton; ToolButton2: TToolButton; ToolButton3: TToolButton; ToolButton4: TToolButton; ToolButton5: TToolButton; ToolButton6: TToolButton; ToolButton7: TToolButton; ToolButton8: TToolButton; ToolButton9: TToolButton; ToolButton10: TToolButton; ToolButton11: TToolButton; ToolButton12: TToolButton; ToolButton13: TToolButton; ImageList1: TImageList; procedure N2Click(Sender: TObject; procedure N3Click(Sender: TObject; procedure N7Click(Sender: TObject; procedure N8Click(Sender: TObject; procedure N9Click(Sender: TObject; procedure N14Click(Sender: TObject; procedure N21Click(Sender: TObject; procedure N16Click(Sender: TObject; procedure N17Click(Sender: TObject; procedure N18Click(Sender: TObject; procedure N12Click(Sender: TObject; procedure N20Click(Sender: TObject; procedure N6Click(Sender: TObject; procedure S1Click(Sender: TObject; procedure FindDialog1Find(Sender: TObject; procedure Timer1Timer(Sender: TObject; procedure N24Click(Sender: TObject; procedure N25Click(Sender: TObject; procedure N26Click(Sender: TObject; procedure N27Click(Sender: TObject; procedure N28Click(Sender: TObject; procedure RichEdit1MouseMove(Sender: TObject; Shift:

delphi7 计算器

用delphi7实现简单的加减乘除,还有一些科学运算。。。以下是一些源代码unit Unit1; interface uses Windows, Messages, SysUtils, V ariants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls,math; type TForm1 = class(TForm) Button1: TButton; Button2: TButton; Button3: TButton; Button4: TButton; Button5: TButton; Button6: TButton; Button7: TButton; Button8: TButton; Button9: TButton; Button10: TButton; Button11: TButton; Button12: TButton; Button13: TButton; Button14: TButton; Button15: TButton; Edit1: TEdit; Button16: TButton; Button17: TButton; Button18: TButton; Button19: TButton; Button20: TButton; Button21: TButton; Button22: TButton; Button23: TButton; Button24: TButton; Button25: TButton; Button26: TButton; Button27: TButton; Button28: TButton; Button29: TButton; Button30: TButton; procedure Button13Click(Sender: TObject);

认识键盘和使用键盘的方法

认识键盘和使用键盘的方法 1、键盘简介 如果把电脑显示器比作手机的屏幕,那么键盘可以比作手机的按键,它是电脑重要的输入设备之一。键盘包括主键盘区、功能键区、编辑键区、辅助键区和状态指示灯。 (一)主键盘区 主键盘区是键盘的主体部分,包括26个字母键、10个数字键、21个符号键和14个控制键,共71个键位,主要用于在文档中输入数字、文字和符号等文本,如上图的主键盘区所示:下面对几个特殊的键及用法作简单介绍

①空格键: 空格键是键盘上最长的条形键。每按一下会出现一个空格符。 ②[Enter↙]回车键: (1)在Word中每按一次该键,可以换行输入文本。回车键还可以代替鼠标进行单击操作,如启动IE浏览器,在地址栏中输入准备打开的网址,在键盘上按下回车键可代替单击【转到】按钮的操作 ③[CapsLock]大写字母锁定键: 在打字键区左边。该键是一个开关键,用来转换字母大小写状态。每按一次该键,键盘右上角标有CapsLock的指示灯会由不亮变成发亮,或由发亮变成不亮。这时: 如果CapsLock指示灯发亮,则键盘处于大写字母锁定状态:

1)这时直接按下字母键,则输入为大写字母; 2)如果这时CapsLock指示灯不亮,则大写字母锁定状态被取消。 ④[Shift]换档键: 换档键shift位于键盘两侧,主要用于输入符号键和数字键上方的符号如: (1)对于双字符键来说指的是一个键上面有两个字符如5数字上还有一个% 如直接按下5键时,所输入的是该键下半部所标的那个5 如果按住[Shift]键同时再按下双字符键5,则输入为键面上半部所标的那个符号如:[Shift]+5=% (2)对于字母键而言:当键盘右上角标有CapsLock的指示灯不亮时,按住[Shift]键的同时再按字母键,输入的是大写字母。例如: CapsLock指示灯不亮时,按[Shift]+S键会显示大写字母S ⑤[←BackSpace]退格删除键: 在主键盘区的右上方。删除当前光标左侧的字符。每按一次该键,删除一个字符。 (二)功能键区 功能键区位于键盘最上方,包括取消键、特殊功能键F1-F12键、屏幕打印键、滚动暂停键和暂停键,如下图所示:

VB 钩子详解

Windows钩子函数的概念和实现方法 首先我们必须大致了解Windows的基本运作机理,Windows作为一个多任务操作系统,它是分有层次概念的,运行在最底下的称为Ring 0层,在这一层里基本上都是一些硬件驱动程序和Windows的总内核,一般的应用程序极少极少运行在这层,当然也有例外,例如调试软件SoftICE(不过基本上这个软件的作用是Crack软件而不是调试)、还原精灵还有分区魔法大师,就是运行在Ring 0层的,另外就是著名的CIH病毒。运行在Ring 0级的程序能够对所有硬件进行直接地址级访问,所受到的限制也最小。 消息(Message)传递是Windows独有的一种机制,因为Windows规定运行在Ring 0以上的程序是没有权利知道究竟硬件发生了怎样的中断变化的,Windows统一将这些中断变化封装成一系列的消息(黑箱作业,也就是常说的Black Box),比如鼠标移动,系统产生一个OnMouseMove消息(但这条消息从何而来,相关的硬件中断向量是什么,程序无从得知),OnMouseMove这条消息最后送达每一个窗口程序以供处理。在更高层次的地方,比如说控件级,所有的消息还被封装成一系列“事件”,比如TextBox控件有KeyPress事件,实际上,这些事件都是林林种种的消息映射。事件的概念使得程序员能够更加傻瓜化地进行编程,但是从另一个角度来说,这种黑箱作业也使得程序员过分依赖系统的安排,限制了程序员的思维,举个例子,Windows为按钮控件封装了大部分常用的属性和事件,完成一般的常规妈作是没有问题的,但是很遗憾,或许是Windows的疏忽,按钮控件的字体颜色永远默认是黑色,而且Windows没有为此提供一个专门的接口来修改,碰到这种情况,程序员就会非常头疼。 钩子函数(Hook Function),就像一把钩子,它的作用是将消息在抵达窗口程序之前先钩到一个地方以便程序员进行分析,这个地方称为挂接函数链,消息在这里先被一系列的函数处理然后由程序员决定是否交还给Windows系统,在这里,你可以“吞噬”(Lickup)一些你不希望发生的消息,比如说你吞掉所有的键盘消息而不交还给系统,那么键盘将会失灵。当然,经过了这道周折,系统效率将会有极其微小的降低,但是,由于Windows规定所有不运行在Ring 0层的程序都不能直接访问硬件中断,因此作为一种中断驱动程序的补充,钩子函数在很多场合下是非常有用的,有时候甚至是唯一的方法。 下面就以键盘拦截为例讲述钩子函数的使用方法: 首先定义以下API: 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 SetWindowsHookEx,这个函数是一切钩子函数的根本,其作用是通知Windows进行钩子妈作并定义钩子函数。 参数1,idHook为定义需要进行的拦截类型,是键盘拦截?鼠标拦截?还是别的。如 WH_KEYBOARD捕捉键盘消息,而WH_MOUSE捕捉鼠标消息。

VC_与Delphi源代码的互译详解

Computer Knowledge and Technology 电脑知识与技术第7卷第32期(2011年11月)VC++与Delphi 源代码的互译详解 许苗村,陈业恩 (海南软件职业技术学院软件工程系,海南琼海571400) 摘要:以大量举例的形式给出了VC++与Delphi 的代码互译,首次做到了对VC++与Delphi 程序的沟通,为算法研究及软件开发人员提供了可靠的代码转换依据,具有非常重要的意义和应用价值。 关键词:VC++;Delphi ;互译 中图分类号:TP311文献标识码:A 文章编号:1009-3044(2011)32-7924-04 VC++and Delphi Source Code Mutual Translation XU Miao-cun,CHEN Ye-en (Hainan College of Software Technology,Qionghai 571400,China) Abstract:The article gives VC++and the Delphi code mutually translation by the massive examples,for the first time to do the VC++and the Delphi code communication,which provides the reliable code conversion basis for the algorithm research and the software develop?er and has the extremely vital significance and the application value. Key words:VC++;Delphi;Mutually translation 一个程序开发员常常手中掌握了一种语言的代码,但却需要以另一种开发平台进行开发,为解决此问题,本文通过举出大量实 例对VC++与Delphi 语言中的一些不同之处进行了对应互译,解决了不同开发平台之间沟通难的问题[1-4]。 1运算符互译 表1为VC++与Delphi 的算术、位、逻辑运算符 互译对照表。2源代码的互译详解 2.1单元的引用 VC++中单元引用部分include 用于列出该单元要引用的标准库单元(诸如①)和其它库单元 (诸如②),这类似于Delphi 中的uses 语句,可以把外部的已声明过的常量、类型、变量、过程或函数引入到本单元中使用,使得功能更加强大,使用更加方便。VC++:#include ①#include "shearwarp.h"②Delphi :Uses windows ,shearwarpunit;2.2宏常量 用#define 定义的常量,即宏常量,其一般形式为#define <宏名><常量>,宏名可以是简单的字符名,也可以是带有参数的函数名。常量可以是数值、字符串和函数等。一般用#define 定义一个宏,是为了在程序中使用,使程序更加简洁,维护更加方便。1)#define <字符名><数值>VC++:#define FPSH 8Delphi :Const FPSH=8;2)#define <带参的函数名><函数>VC++:#define CLAMPX(x)(((x)<0)?0:(((x)>=m_x)?(m_x-1):(x)))在Delphi 中首先需要在此函数所属的类中宣称这一方法,Public function CLAMPX(x:integer):integer;其次需要在执行部分(implementation)对函数体进行定义,以便返回函数值:function Volume.CLAMPX(x:integer):integer; 收稿日期:2011-08-25 作者简介:许苗村(1984-),女,陕西咸阳人,海南软件职业技术学院教师,主要研究方向为图像处理与信息技术;陈业恩(1980-), 男,海南琼海人,海南软件职业技术学院教师,主要研究方向WEB 开发。 表1VC++与Delphi 的算术、位、逻辑运算符互译对照表 E-mail:xsjl@https://www.wendangku.net/doc/1a1359470.html, https://www.wendangku.net/doc/1a1359470.html, Tel:+86-551-56909635690964ISSN 1009-3044Computer Knowledge and Technology 电脑知识与技术Vol.7,No.32,November 2011.

电脑键盘按键的使用方法

电脑键盘按键的使用方法 Ctrl + C 复制。 Ctrl + X 剪切。 Ctrl + V 粘贴。 Ctrl + Z 撤消。 DELETE 删除。 Shift + Delete 永久删除所选项,而不将它放到“回收站”中。 拖动某一项时按CTRL 复制所选项。 拖动某一项时按CTRL + SHIFT 创建所选项目的快捷键。 F2 重新命名所选项目。 CTRL + 向右键将插入点移动到下一个单词的起始处。 CTRL + 向左键将插入点移动到前一个单词的起始处。 CTRL + 向下键将插入点移动到下一段落的起始处。 CTRL + 向上键将插入点移动到前一段落的起始处。 CTRL + SHIFT + 任何箭头键突出显示一块文本。 SHIFT + 任何箭头键在窗口或桌面上选择多项,或者选中文档中的文本。Ctrl + A 选中全部内容。 F3 搜索文件或文件夹。 Alt + Enter 查看所选项目的属性。 Alt + F4 关闭当前项目或者退出当前程序。 ALT + Enter 显示所选对象的属性。 Alt + 空格键为当前窗口打开快捷菜单。 Ctrl + F4 在允许同时打开多个文档的程序中关闭当前文档。 Alt + Tab 在打开的项目之间切换。 Alt + Esc 以项目打开的顺序循环切换。 F6 在窗口或桌面上循环切换屏幕元素。 F4 显示“我的电脑”和“Windows 资源管理器”中的“地址”栏列表。Shift + F10 显示所选项的快捷菜单。 Alt + 空格键显示当前窗口的“系统”菜单。 Ctrl + Esc 显示“开始”菜单。 ALT + 菜单名中带下划线的字母显示相应的菜单。 在打开的菜单上显示的命令名称中带有下划线的字母执行相应的命令。 F10 激活当前程序中的菜单条。 右箭头键打开右边的下一菜单或者打开子菜单。 左箭头键打开左边的下一菜单或者关闭子菜单。 F5 刷新当前窗口。 BackSpace 在“我的电脑”或“Windows 资源管理器”中查看上一层文件夹。Esc 取消当前任务。 将光盘插入到CD-ROM 驱动器时按SHIFT 键阻止光盘自动播放。 二、对话框快捷键

c语言键盘钩子

在开始贴这段垃圾代码以前,先给大家道个歉,也先扇自己一巴掌。本来说好昨天把代码搞好的,谁知道还没开始整,就过了12点了,食言了。 代码还没有怎么写好,先把关键代码粘贴出来,等今天晚上把代码整理好,功能完善了再修改这个文章,顺便把写程序的过程、遇到的问题以及关键思路写出来。 下面是DLL的关键代码(C语言编写,考虑DLL的兼容性): //////////////////////////////////// //keyhook.c //作用:DLL主文件 //作者:zaroty //时间:2008年9月9日0:54:39 //博客:https://www.wendangku.net/doc/1a1359470.html,/zaroty /////////////////////////////////// #define _WIN32_WINNT 0x0500 //底层钩子需要设置系统版本号 #include #include #include "keyhook.h" #include "vKey.h" HHOOK CuhHook=NULL; HANDLE g_hModule; BOOL APIENTRY DllMain(HANDLE hModule, DWORD dwReason, void* lpReserved) { switch(dwReason) { case DLL_PROCESS_ATTACH: g_hModule = (HINSTANCE)hModule; break; case DLL_PROCESS_DETACH: g_hModule=NULL; break; } return TRUE; } LRESULT CALLBACK LowLevelKeyboardProc( int nCode, WPARAM wParam, LPARAM lParam ) { KBDLLHOOKSTRUCT* pStruct = (KBDLLHOOKSTRUCT*)lParam; LPCSTR log=GetKeyName(pStruct->vkCode); if (wParam==WM_KEYDOWN) {

Delphi 实现简单计算器

unit Cals; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Menus, StdCtrls; type TForm1 = class(TForm) mm1: TMainMenu; N1: TMenuItem; S1: TMenuItem; S2: TMenuItem; edt1: TEdit; Button1: TButton; Button2: TButton; Button3: TButton; Button4: TButton; Button5: TButton; Button6: TButton; Button7: TButton; Button8: TButton; Button9: TButton; Button11: TButton; Button12: TButton; Button13: TButton; Button14: TButton; Button15: TButton; Button16: TButton; Button18: TButton; Button19: TButton; Button20: TButton; Button21: TButton; Button22: TButton; Button23: TButton; Button25: TButton; Button26: TButton; Button27: TButton; Button28: TButton; Button29: TButton; Button30: TButton; edt2: TEdit;

电脑键盘每一个按键的用途和使用

电脑键盘每一个按键的用途和使用。 最佳答案 这个说不清楚,有很多组合键之类的。 单独按Windows:显示或隐藏“开始”功能表Windows+BREAK:显示“系统属性”对话框 Windows+D:显示桌面 Windows+M:最小化所有窗口 Windows+Shift+M:还原最小化的窗口 Windows+E:开启“资源管理器” Windows+F:查找文件或文件夹 Windows+CTRL+F:查找电脑 Windows+F1:显示Windows“帮助” Windows+R:开启“运行”对话框 Windows+U:开启“公用程序管理器” Windows+L:切换使用者(WindowsXP新功能) Ctrl快捷键 Ctrl+S保存 Ctrl+W关闭程序 Ctrl+N新建 Ctrl+O打开 Ctrl+Z撤销 Ctrl+F查找 Ctrl+X剪切 Ctrl+C复制 Ctrl+V粘贴 Ctrl+A全选 Ctrl+[缩小文字 Ctrl+]放大文字 Ctrl+B粗体

Ctrl+I斜体 Ctrl+U下划线 Ctrl+Shift输入法切换 Ctrl+空格中英文切换 Ctrl+回车QQ号中发送信息 Ctrl+Home光标快速移到文件头 Ctrl+End光标快速移到文件尾 Ctrl+Esc显示开始菜单 Ctrl+Shift+<快速缩小文字 Ctrl+Shift+>快速放大文字 Ctrl+F5在IE中强行刷新 Ctrl+拖动文件复制文件 Ctrl+Backspace启动\关闭输入法 拖动文件时按住Ctrl+Shift创建快捷方式Alt快捷键 Alt+空格+C关闭窗口 Alt+空格+N最小化当前窗口 Alt+空格+R恢复最小化窗口 Alt+空格+X最大化当前窗口 Alt+空格+M移动窗口 Alt+空格+S改变窗口大小 Alt+Tab两个程序交换 Alt+255QQ号中输入无名人 Alt+F打开文件菜单 Alt+V打开视图菜单 Alt+E打开编辑菜单 Alt+I打开插入菜单 Alt+O打开格式菜单 Alt+T打开工具菜单

C编写简易计算器附源代码超详细

超详细 一、因为计算器设计的控件太多,不便使用控制台应用程序完成,所以这里 使用Windows窗体应用程序,并命名为Calc,如下图所示: 二、向窗体中拖入需要的控件,如下图所示: (完成效果图) 结果显示区(作者博客左边的文本框)是TextBox控件,并修改其name为txtShow,按键0~9为Button控件,并将其name分别修改为btn_0、btn_1、btn_2、btn_3、btn_4、btn_5、btn_6、btn_7、btn_8、btn_9;按键【负数】的name值修改为btn_sign,按键【.】的name修改为btn_dot,按键【+-*/】的name值分别修改为btn_add、btn_sub、btn_mul、btn_div,按键【=】的name值修改为btn_equ,按键【倒数】的name值修改为btn_rev,按键【平方】的name值修改为btn_sqr,按键【开方】的name值修改为btn_sqrt。右边的计算器图片空间是PictureBox,作者博客控件是LinkLabel,可以不添加,以上所有控件均可按照需求添加,只保留自己需要的按钮控件和textbox控件即可。 三、代码部分(含解释),采用switch多分支语句编写 using System; using System.Drawing; using System.Collections; using https://www.wendangku.net/doc/1a1359470.html,ponentModel; using using System.Data; namespace Calc { ///

///温柔一刀C#简易计算器的实现 /// publicclass CalcForm:Form { private Button btn_0; private Button btn_1; private Button btn_2; private Button btn_3;

C#键盘钩子拦截键盘按键

C#键盘钩子,本文以C#语言为例,演示拦截键盘按键。首先打开VS创建一个窗体应用程序。如图: 需要引入以下两个命名空间。 using System.Runtime.InteropServices; using System.Diagnostics; 以下是全部源码: using System; using System.Collections.Generic; using https://www.wendangku.net/doc/1a1359470.html,ponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Runtime.InteropServices;

using System.Diagnostics; namespace WindowsForms5107 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } //定¨义?一?个?结á构1 public struct HookStruck { public int vkCode; public int scanCode; public int time; } public delegate int FunctionAddr(int ncode,IntPtr wParam,IntPtr iparam); [DllImport("user32.dll")] //参?数簓介é绍Θ?:阰hookID表括?示?参?数簓类え?型í,?有瓺鼠酣?标括?钩3子哩?,?键ü盘ì钩3子哩?等台?类え?型í,?callfunction:阰回?调獭?函ˉ数簓地?址·,?即′你?要癮转羇而?执′行D的?程ì序?地?址·。£ //hInstance:钩3子哩?程ì序?的?实害??柄括?。£threadID线?程ìId,你?要癮监à视酣?的?程ì序?的?iD,当獭纈d=0时骸?,?为a系μ统?钩3子哩?,?监à控?整?个?系μ统?

键盘使用说明书完整版

一、键盘简介键盘是计算机使用者向计算机输入数据或命令的最基本的设备。常用的键盘上有101个键或103个键,分别排列在四个主要部分:打字键区、功能键区、编辑键区、小键盘区。 现将键盘的分区以及一些常用键的操作说明如下: (一)打字键区 它是键盘的主要组成部分,它的键位排列与标准英文打字机的键位排列一样。该键区包括了数字键、字母键、常用运算符以及标点符号键,除此之外还有几个必要的控制键。 下面对几个特殊的键及用法作简单介绍。 键的名称 主要功能说明 空格键 键盘上最长的条形键。每按一次该键,将在当前光标的位置上空出一个字符的位置。 [Enter↙] 回车键 (1)每按一次该键,将换到下一行的行首输入。就是说,按下该键后,表示输入的当前行结束,以后的输入将另起一行。 (2)或在输入完命令后,按下该键,则表示确认命令并执行。[CapsLock]大写字母锁定键 在打字键区右边。该键是一个开关键,用来转换字母大小写状态。每按一次该键,键盘右上角标有CapsLock的指示灯会由不亮变成发亮,或由发亮变成不亮。这时: (1)如果CapsLock指示灯发亮,则

键盘处于大写字母锁定状态:1)这时直接按下字母键,则输入为大写字母;2)如果按住[Shif]键的同时,再按字母键,输入的反而是小写字母。 (2)如果这时CapsLock指示灯不亮,则大写字母锁定状态被取消。 [Shift]换档键 换档键在打字键区共有两个,它们分别在主键盘区(从上往下数,下同)第四排左右两边对称的位置上。 (1)对于符号键(键面上标有两个符号的键,例如:等,这些键也称为上下档键或双字符键)来说,直接按下这些键时,所输入的是该键键面下半部所标的那个符号(称为下档键); 如果按住[Shift]键同时再按下双字符键,则输入为键面上半部所标的那个符号(称为上档键)。如: [Shift] +=% (2)对于字母键而言:当键盘右上角标有CapsLock的指示灯不亮时,按住[Shift]键的同时再按字母键,输入的是大写字母。例如:CapsLock指示灯不亮时,按[Shift] +S键会显示大写字母S [←BackSpace]退格删除键 在打字键区的右上角。每按一次该键,将删除当前光标位置的前一个字符。 [Ctrl]控制键 在打字键区第五行,左右两边各一个。该键必须和其它键配合才能实现各种功能,这些功能是在操作系统或其他应用软件中进行设定的。例如:

Delphi7.0中如何用代码访问数据库的方法

Delphi7.0中如何用代码访问数据的方法 一、第一种方法: 1、设计的界面如下: 2、主要代码: (1)启动窗口中的主要代码: Se:= ExtractFilePath(Application.ExeName) + 'data\jczk.mdb'; //动态取出系统文件的路径ADOADOQuery1.ConnectionString :='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+ Se+';Persist Security Info=False'; ADOADOQuery1.Close; ADOADOQuery1.SQL.Clear; ADOADOQuery1.SQL.Add('select * from yhz'); ADOADOQuery1.Open;//ADOADOQuery1.ExecSQL;本句表示不返回值时的记录集合ADOADOQuery1.Active:=true; (2)查询其它表时的代码: ADOADOQuery1.Close; ADOADOQuery1.SQL.Clear; ADOADOQuery1.SQL.Add('select * from jf11'); ADOADOQuery1.Open; ADOADOQuery1.Active:=true; (3)提示窗口:Application.MessageBox('ss','提示',64); (4)说明:DataSource1必须要与ADOADOQuery1连接在一起;DBGrid1必须要与DataSource1连接在一起。 (5)取值:EDIT1.Text:=ADOADOQuery1.FieldByName('yhz04').AsString (6)怎么使用ADOQuery1给数据库添加数据? ADOQuery1.Close; ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add('insert into "Tab_Contron_record"'); ADOQuery1.SQL.Add('('+str_V+')'); ADOQuery1.SQL.Add('values('+str_T+')'); ADOQuery1.ParamByName('用户名').AsString:='admin'; ADOQuery1.ParamByName('连接设备IP').AsString:='192.168.18.66'; ADOQuery1.ParamByName('用户类型').AsString:='管理员'; ADOQuery1.ParamByName('连接时间').AsString:=datetimetostr(now); ADOQuery1.ParamByName('备注').AsString:='无'; ADOQuery1.ExecSQL; (7)、怎么样查询数据库中表的值,即条件查询(注意:Quotedstr()函数的使用):cnn:='select * from sinfo where sid=200601001'; //“sid”字段为数值型可以直接使用; cnn:='select * from sinfo where sclass='+Quotedstr('高一一');//“sclass”字段为字符类型; //多条件进行查询的例子 cnn:='select * from sinfo where sclass='+Quotedstr('高一一')+' and ssex='+quotedstr('男'); ADOQuery1.Close ;

相关文档