键盘事件的挂钩监控原理及其应用

键盘事件的挂钩监控原理及其应用
键盘事件的挂钩监控原理及其应用

键盘事件的挂钩监控原理及其应用

键盘事件的挂钩监控原理及其应用

键盘事件的挂钩监控原理及其应用

2019-10-03

计算机信息技术

键盘事件的挂钩监控原理及其应用

WINDOWS的消息处理机制为了能在应用程序中监控系统的各种事件消息,提供了挂接各种反调函数(HOOK)的功能。这种挂钩函数(HOOK)类似扩充中断驱动程序,挂钩上可以挂接多个反调函数构成一个挂接函数链。系统产生的各种消息首先被送到各种挂接函数,挂接函数根据各自的功能对消息进行监视、修改和控制等,然后交还控制权或将消息传递给下一个挂接函数以致最终达到窗口函数。WINDOW系统的这种反调函数挂接方法虽然会略加影响到系统的运行效率,但在很多场合下是非常有用的,通过合理有效地利用键盘事件的挂钩函数监控机制可以达到预想不到的良好效果。一、在WINDOWS键盘事件上挂接监控函数的方法WINDOW下可进行挂接的过滤函数包括11种:WH_CALLWNDPROC 窗口函数的过滤函数WH_CBT计算机培训过滤函数WH_DEBUG 调试过滤函数WH_GETMESSAGE 获取消息过滤函数WH_HARDWARE 硬件消息过滤函数WH_JOURNALPLAYBACK 消息重放过滤函数WH_JOURNALRECORD 消息记录过滤函数WH_MOUSE 鼠标过滤函数WH_MSGFILTER 消息过滤函数WH_SYSMSGFILTER 系统消息过滤函数WH_KEYBOARD 键盘过滤函数其中键盘过滤函数是最常用最有用的过滤函数类型,不管是哪一种类型的过滤函数,其挂接的基本方法都是相同的。 WINDOW调用挂接的反调函数时总是先调用挂接链首的那个函数,因此必须将键盘挂钩函数利用函数SetWindowsHookEx()将其挂接在函数链首。至于消息是否传递给函数链的下一个函数是由每个具体函数功能确定的,如果消息需要传统给下一个函数,可调

用API函数的CallNextHookEx()来实现,如果不传递直接返回即可。挂接函数可以是用来监控所有线程消息的全局性函数,也可以是单独监控某一线程的局部性函数。如果挂接函数是局部函数,可以将它放到一个.DLL动态链接库中,也可以放在一个局部模块中;如果挂接函数是全局的,那么必须将其放在一个.DLL 动态链接库中。挂接函数必须严格按照下述格式进行声明,以键盘挂钩函数为例:int FAR PASCAL KeyboardProc( int nCode,WORD wParam,DWORD lParam) 其中KeyboardProc为定义挂接函数名,该函数必须在模块定义文件中利用EXPORTS 命令进行说明;nCode决定挂接函数是否对当前消息进行处理;wParam和lParam 为具体的消息内容。二、键盘事件挂接函数的安装与下载在程序中可以利用函数SetWindowsHookEx()来挂接过滤函数,在挂接函数时必须指出该挂接函数的类型、函数的入口地址以及函数是全局性的还是局部性的,挂接函数的具体调用格式如下:SetWindowsHookEx(iType,iProc,hInst,iCode) 其中iType为挂接函数类型,键盘类型为WH_KEYBOARD,iProc为挂接函数地址,hInst 为挂接函数链接库实例句柄,iCode为监控代码-0表示全局性函数。如果挂接函数需要将消息传递给下一个过滤函数,则在该挂接函数返回前还需要调用一次CallNextHookEx()函数,当需要下载挂接函数时,只要调用一次UnhookWindowsHookEx(iProc)函数即可实现。如果函数是全局性的,那么它必须放在一个.DLL动态链接库中,这时该函数调用方法可以和其它普通.DLL函数一样有三种:1.在DEF定义文件中直接用函数名或序号说明: EXPORTS WEP @1 RESIDENTNAME InitHooksDll @2 InstallFilter @3 KeyboardProc @4 用序号说明格式为:链接库名.函数名(如本例中说明方法为KEYDLL.KeyboardProc)。2.在应用程序中利用函数直接调用:首先在应用程序中利用LoadLibrary(LPSTR “链接库名”)将动态链接库装入,并取得装载库模块句柄hInst,然后直接利用GetProcAddress(HINSTANCE hInst,LPSTR “函数过程名”)获取函数地址,然后直接调用该地址即可,程序结束前利用函数 FreeLibrary( )释放装入的动态链接库即可。3.利用输入库.LIB方法利用IMPLIB.EXE程序在建立动态链接库的同时建立相应的输入库.LIB,然后直接在项目文件中增加该输入库。三、WINDOWS挂钩监控函数的实现步骤 WINDOWS挂钩函数只有放在动态链接库DLL 中才能实现所有事件的监控功能。在.DLL 中形成挂钩监控函数基本方法及其基

本结构如下:1、首先声明DLL中的变量和过程;2、然后编制DLL主模块LibMain(),建立模块实例;3、建立系统退出DLL机制WEP()函数;4、完成DLL初始化函数InitHooksDll(),传递主窗口程序句柄;5、编制挂钩安装和下载函数InstallFilter();6、编制挂钩函数KeyboardProc(),在其中设置监控功能,并确定继续调下一个钩子函数还是直接返回WINDOWS应用程序。7、在WINDOWS主程序中需要初始化DLL并安装相应挂钩函数,由挂接的.钩子函数负责与主程序通信;8、在不需要监控时由下载功能卸掉挂接函数。四、WINDOWS 下键盘挂钩监控函数的应用技术目前标准的104 键盘上都有两个特殊的按键,其上分别用WINDOW程序徽标和鼠标下拉列表标识,本文暂且分别称为Micro 左键和Micro右键,前者用来模拟鼠标左键激活开始菜单,后者用来模拟鼠标右键激活属性菜单。这两个特殊按键只有在按下后立即抬起即完成 CLICK过程才能实现其功能,并且没有和其它按键进行组合使用。由于WINDOWS 系统中将按键划分得更加详细,使应用程序中很难灵活定义自己的专用快捷键,比如在开发.IME等应用程序时很难找到不与WORD8.0等其它应用程序冲突的功能按键。如果将标准104键盘中的这两个特殊按键作为模拟CTRL和ALT 等专用按键,使其和其它按键组合,就可以在自己的应用程序中自由地设置专用功能键,为应用程序实现各种功能快捷键提供灵活性。正常情况下WINDOWS 键盘事件驱动程序并不将这两个按键的消息进行正常解释,这就必须利用键盘事件的挂钩监控函数来实现其特定的功能。其方法如下:1、首先编制如下一个简单动态链接库程序,并编译成DLL文件。 #include “windows.h”int FAR PASCAL LibMain(HANDLE hModule,UINT wDataSeg, UINT cbHeapSize,LPSTR lpszCmdLine);int WINAPI WEP(int bSystemExit);int WINAPI InitHooksDll(HWND hwndMainWindow);int WINAPI InstallFilter(BOOL nCode);LRESULT CALLBACK KeyHook(int nCode,WORD wParam,DWORD lParam);static HANDLE hInstance; // 全局句柄static HWND hWndMain; // 主窗口句柄static int InitCalled=0; // 初始化标志static HHOOK hKeyHook;FARPROC lpfnKeyHook=(FARPROC)KeyHook;BOOL HookStates=FALSE;int FAR PASCAL LibMain( HANDLE hModule, UINT wDataSeg, UINT cbHeapSize, LPSTR lpszCmdLine){if

(cbHeapSize!=0)UnlockData(0);hInstance = hModule;return 1;}int WINAPI WEP (int bSystemExit){ return 1;}int WINAPI InitHooksDll(HWND hwndMainWindow){hWndMain = hwndMainWindow;InitCalled = 1;return (0);}

int WINAPI InstallFilter(BOOL nCode){ if (InitCalled==0)return (-1);if (nCode==TRUE){hKeyHook=SetWindowsHookEx(WH_KEYBOARD,

(HOOKPROC)lpfnKeyHook,hInstance,0);HookStates=TRUE;}else{UnhookWindow sHookEx(hKeyHook);HookStates=FALSE;}return(0);}LRESULT CALLBACK KeyHook(int nCode,WORD wParam,DWORD lParam){static BOOL msflag=FALSE;if(nCode =0){if(HookStates==TRUE){if((wParam==0xff)|| //WIN3.X下按键值(wParam==0x5b)||(wParam==0x5c)){//WIN95下按键值if((i==0x15b)||(i==0x15c)){ //按键按下处理msflag=TRUE;PostMessage(hWndMain,0x7fff,0x1,0x3L);}else

if((i==0xc15b)||(i==0xc15c)){//按键抬起处理msflag=FALSE;PostMessage(hWndMain,0x7fff,0x2,0x3L);}}}}return((int)Ca llNextHookEx(hKeyHook,nCode,wParam,lParam));}该程序的主要功能是监控键盘按键消息,将两个特殊按键Micro按下和抬起消息转换成自定义类型的消息,并将自定义消息发送给应用程序主窗口函数。2、在应用程序主函数中建立窗口后,调用InitHooksDll()函数来初始化动态链接库,并将应用程序主窗口句柄传递给链接库,然后调用InstallFilter()函数挂接键盘事件监控回调函数。InitHooksDll(hIMEWnd); //初始化DLLInstallFilter(TRUE); //安装键盘回调函数3、在应用程序主窗口函数处理自定义消息时,保存Micro按键的状态,供组合按键处理时判断使用。switch (iMessage){case 0x7fff: //自定义消息类型if(lParam==0x3L){//设置Micro键的状态if(wParam==0x1)MicroFlag=TRUE;else

if(wParam==0x2)MicroFlag=FALSE;}break;4、在进行按键组合处理时,首先判断Micro键是否按下,然后再进行其它按键的判断处理。case WM_KEYDOWN: // 按键按下处理if(MicroFlag==TRUE){//Micro键按下if((BYTE)HIBYTE(wParam)==0x5b){//Micro+”[“组合键 ......//按键功能处

理 }else if((BYTE)HIBYTE(wParam)==0x5d){//Micro+”]”组合键 ......//按键功能处理 } } break;5、当应用程序退出时应注意下载键盘监控函数,即调用InstallFilter(FALSE)函数一次。6、利用本文提供的方法设置自己的应用程序功能按键,在保证程序功能按键不会与其它系统发生冲突的同时,有效地利用了系统中现有资源,而且在实现应用程序功能的同时灵活应用了系统中提供的各种功能调用。

克拉申 语言习得理论

二语习得理论克拉申理论 克拉申的第二语言习得理论(又称“监控理论”)。此理论主要由五大假说组成:习得/学得假说(the Acquisition /Learning Hypothesis),自然顺序假说(the Natural Order Hypothesis),监控假说(the Monitor Hypothesis),输入假说(the Input Hypothesis)和情感过滤假说(the Affective Hypothesis) [1] [2] 一、克拉申的语言习得理论 (一)习得/学得假说 习得/学得假说是克拉申所有假说中最基本的一个,是其第二语言习得理论的基础。这一假说认为:发展第二语言能力有两个独立的途径:“习得”是下意识过程,与儿童习得母语的过程,在所有的重要方面都是一致的;“学得”则是有意识过程,通过这一过程,可“了解语言”(即获得有关语言的知识)。“习得”是潜意识(subconscious)过程,是注重意义的自然交际结果,正如儿童母语习得过程。“学得”(learning),是有意识(conscious)的过程,即通过课堂教师讲授并辅之以有意识的练习、记忆等活动达到对所学语言的掌握。 Krashen认为成人学习第二语言可以通过两种方式——语言习得(language acquisition)和语言学得(language learning)。语言是潜意识过程的产物。这一过程和孩子们学习母语的过程很相似。它要求学习者用目的语进行有意义的、自然的交流。在交流过程中学习者所关注的是交流活动本身,而不是语言形式。语言习得则是正式教育的产物。正式教育是一个有意识的过程,其结果是学习者能获得一些有意识的和语言相关的知识。Krashen指出学得不能转换成习得。例如,使用母语者尽管不懂语法规则,却可以正确流利地使用该语言,而语言学习者虽然有完备的语法知识,却很难在实际交流中运用自如。因此,对二语习得来讲,自然的语言环境比有意识的学习更为有效。

第二语言习得克拉申学习理论评析

南昌大学汉语国际教育专业2014 ~2015 学年第二 学期期末论文 课程名称:语言习得研究专业:汉语国际教育 学生姓名:学号: 学院:人文学院得分: 任课教师签:时间:

《克拉申的语言监控模式》评析 克拉申的理论模式被称为“语言监控模式”,它包括“五个中心假说”,即“习得与学习的假说”、“自然习得顺序假说”、“监控假说”、“输入假说”以及“情感过滤假说”。 一、克拉申第二语言习得理论概述 1、“习得”与“学习”的假说 克拉申认为,成人第二语言学习者可以通过“习得”与“学习”这两种独立的方式来获得第二语言规则。“习得”的过程是自然产生的过程,是指学习者在运用第二语言进行自然的交际,关注的是语言传达的意思;而“学习”则是学习者在学习的过程中把注意力集中于第二语言的形式特征上,通过有意识的学习方式获得第二语言规则的知识。 2、自然习得顺序假说 克拉申认为,儿童或成人,无论在学习母语还是学习第二语言的过程中,都遵循一种相似的习得顺序,尽管第二语言学习者的母语背景不同,文化背景存在差异,但是他们的第二语言习得顺序却非常相似,这种自然习得顺序是可以预测的。在克拉申看来,课堂教学对自然习得顺序是无法改变的,习得过程只能在即时的言语表达得到体现。 3、监控假说 在克拉申看来,学习者的言语输出主要是依靠习得的知识生成的,而“学习”的知识只是用来监控学习者的语言输出过程,在成人第二语言学习中的作用相当与一个监控器和编辑器。通过“习得”获得的语言能力使学习者可以把要表达的意思流利得表达出来,而通过“学习”获得的语言知识使学习者在说话之前有意识地判断和调整语言形式。克拉申提出使用监控的三种条件:充足的时间、注意语言的形式、懂得语法规则。 4、输入假说 输入假说回答了人们是怎样习得一门语言的重大语言教学问题。人们习得一门语言,必须通过理解信息或者接受可理解的语言输入,学习者习得按照自然顺序、通过理解在下个阶段将要习得的结构来进行,同时输入的语言难度要略高于学习者现有的能力,若学习者现有水平为“i”,那么语言输入应该为“i+1”。克拉申的输入假说包含了四个要素,即输入数量、输入质量、输入方式以及输入条件。克拉申主张学习者要先“获得意义”,再从中习得语言结构。即先意义,后形式。 5、情感过滤假说 为了解释在二语习得过程中普遍存在的不同学习者的学习效率与速度以及最终达到的语言水平之间的差异的现象,克拉申提出了情感过滤假说。“情感过

克拉申二语习得理论

在第二语言习得研究中成就最大、影响最广也是最全面的理论便是克拉申 (S.D.Krashen)的语言习得理论。他的理论实际上是对近几十年来第二语言或外语学习研究的总结,并把各种研究成果加以理论化、系统化,使之成为系统的学说。 克拉申理论主要由以下五个假说组成: 1 习得---学得区别假说(The Acquisition—Learning Hypothesis) 克拉申理论的出发点和核心是他对“习得”和“学得”的区分,以及对它们各自在习得者第二语言能力形成过程中所起的作用的认识。“习得”是潜意识过程,是注意意义的自然交际的结果,儿童习得母语便是这样的过程。习得的语言系统处于大脑左半球语言区,是自发语言运用的根本。与之相对的是“学得”,这是个有意识的过程,即通过课堂教师讲授并辅之以有意识的练习、记忆等活动,达到对所学语言的了解和对其语法概念的“掌握”。“学得”的系统虽然在大脑左半球,但不一定在语言区。克拉申认为,只有“习得”才能直接促进第二语言能力的发展,才是人们运用语言时的生产机制;而对语言结构有意的了解作为“学得”的结果,只能在语言运用中起监控作用,而不能视为语言能力本身的一部分。 2 监控假说( The Monitor Hypothesis) 监控假说与习得---学得区别假说密切相关,它体现了“语言习得”和“语言学习”的内在关系。根据这个假设,语言习得与语言学习的作用各不相同。语言习得系统,即潜意识语言知识,才是真正的语言能力。而语言学得系统,即有意识的语言知识,只是在第二语言运用时起监控或编辑作用。这种监控功能既可能在语言输出(说、写)前也可能在其后。但是,它能否发挥作用还得依赖于三个先决条件:1)有足够的时间,即语言使用者必须要有足够的时间才能有效地选择和运用语法规则;2)注意语言形式,即语言使用者的注意力必须集中在所用语言的形式上,也就是说,必须考虑语言的正确性;3)知道规则,即语言使用者必须具有所学语言的语法概念及语言规则知识。 在口头表达时,人们一般注意的是说话的内容而不是形式,没有时间去考虑语法规则。因此,在说话时,如果过多地考虑使用语法监控,不断地纠正自己的语法错误,说起话来就会结结巴巴,妨碍交际进行。在书面表达时,情况就会好得多,因为作者有足够的时间推敲字句,斟酌语法。 3 输入假说(The Input Hypothesis) 输入假说也是克拉申语言习得理论的核心部分。他曾用一本专著论述他的这个假说。克拉申认为,只有当习得者接触到“可理解的语言输入”( comprehensive input ),即略高于他现有语言技能水平的第二语言输入,而他又能把注意力集中于对意义或对信息的理解而不是对形式的理解时,才能产生习得。这就是他著名的 i + 1 公式。i 代表习得者现有的水平, 1 代表略高于习得者现有水平的语言材料。根据克拉申的观点,这种 i + 1 的输入并不需要人们故意地去提供,只要习得者能理解输入,而他又有足够的量时,就自动地提供了这种输入。 克拉申认为,理想的输入应具备以下几个特点: 1)可理解性( comprehensibility)。理解输入的语言材料是语言习得的必要条件,不可理解的( incomprehensible )输入对于习得者而言,只是一种噪音。

[竖版]第2讲 - 键盘事件

L4-2 键盘事件 1. 知识目录 ?角色坐标 ?on_key_down()函数的参数——key ? 根据按键控制角色移动 2. 知识探索 (1)角色坐标 ①向左或向右移动 ?在pygame 坐标系中,横坐标从左到右逐渐增大。 若要使角色向左移动,就要将角色的横坐标的值减小;同理角色向右移动时,角色的横坐标值就要增大。 (0,200)(200,200) (200,0) (0,0) 初始位置

向右移动后 (0,200)(200,200) (200,0) (0,0) ②向上或向下移动 ?在pygame 坐标系中,纵坐标从上到下逐渐增大。 若要使角色向上移动,就要将角色的纵坐标的值减小;同理角色向下移动时,角色的纵坐标值就要增大。 (0,200) (200,200)(200,0)(0,0) 向左移动后向上移动 向下移动 (0,200) (200,200) (200,0)(0,0) (0,200)(200,200) (200,0) (0,0)

(2)on_key_down()函数的参数——key 概念:在用户按下键盘上的按键时,参数key 中保存的 是用户按下的按键。 格式: def on_key_down(key):下级代码 下划线 参数 按键名称对应参数值向左方向键keys.LEFT 向右方向键keys.RIGHT 向上方向键keys.UP 向下方向键 keys.DOWN import pgzrun def on_key_down(key):print(key)pgzrun.go() 例子: 1 1 定义on_key_down()函数,打印参数key 。

JavaScript期末测试题

1、选择题:9题 1、要求用JavaScript实现下面的功能:在一个文本框中内容发生改变后,单击页面的其他部分将弹出一个消息框显示文本框中的内容,下面语句正确的是() A. B. C. D. 正确答案是: B 2、在HTML页面中,下面关于Window对象的说法不正确的是()。 A.Window对象表示浏览器的窗口,可用于检索有关窗口状态的信息 B.Window对象是浏览器所有内容的主容器 C.如果文档定义了多个框架,浏览器只为原始文档创建一个Window对象,无须为每个框架创建Window对象 D.浏览器打开HTML文档时,通常会创建一个Window对象 正确答案是: C 3、window的哪个方法可以显示输入对话框?() A.confirm() B.alert() C.prompt() D.open() 正确答案是: C 4、open()方法的哪个外观参数可以设置是否显示滚动条?() A.location B.menubar C.scrollbars D.toolbar 正确答案是: C 5、在Javascript语言中,当元素失去了焦点时激发的事件是( ) A.Focus B.UnLoad C.MouseOver D.Blur 正确答案是: D 6、DHTML不具备的优点是() A.动态样式 B.动态语法 C.动态内容 D.动态定位

小议克拉申的“输入假说模式”理论

小议克拉申的“输入假说模式”理论 美国语言学家Krashen提出的“输入假说模式”自其问世起便成为二语习得领域最具影响力的理论之一,它激发了人们对二语习得中一些基本问题的深入思考。本文对Krashen的“输入假说”理论进行了分析,综合了一些学者对它的评价以及对该理论的发展的研究,并谈到了其对外语教学一些启示。 一、“输入假说”的概念 斯蒂芬?克拉申(Stephen Krashen)1941年出生于美国芝加哥,现为美国南加州大学荣休教授,他毕生致力于第二语言获得的研究,这为他赢得了世界了性声誉。克拉申在20世纪中叶以来提出的第二语言学习得的“输入假说模式”,这是近几十年来影响广泛、解释全面又很具争议性的理论。早在1970 年代初克拉申就提出了“监控模式”(The Monitor Model) ,该模式以“监控假说(The Monitor Hypothesis)”为核心;80 年代中叶,克拉申对之进一步扩充修订,转为以“输入假说”(The input hypothesis) 为中心,形成了“输入假说模式”。在1985年出版的The Input Hypothesis: Issues and Implications一书中,Krashen进一步论述了输入假设理论及其应用。具体而言,Krashen的“输入假说模式”由五个互相联系的核心假说构成,它们分别是: ①语言习得- 学得(The Acquisition—Learning Hypothesis)假说; ②自然顺序假说(The Natural Order Hypothesis); ③监控假说; ④语言输入假说; ⑤情感过滤假说(The Affective Filter Hypothesis)。这五个假说彼

JS:页面事件、表单事件、滚动字幕事件、编辑事件、数据绑定、外部事件

js(javascript)大全:页面事件、表单事件、滚动字幕事件、编辑事件、数据绑定、外部事件 2011-01-01 12:40 一般事件 onClick 鼠标点击事件,多用在某个对象控制的范围内的鼠标点击onDblClick 鼠标双击事件 onMouseDown 鼠标上的按钮被按下了 onMouseUp 鼠标按下后,松开时激发的事件 onMouseOver 当鼠标移动到某对象范围的上方时触发的事件onMouseMove 鼠标移动时触发的事件 onMouseOut 当鼠标离开某对象范围时触发的事件 onKeyPress 当键盘上的某个键被按下并且释放时触发的事件.[注意:页面内必须有被聚焦的对象] onKeyDown 当键盘上某个按键被按下时触发的事件[注意:页面内必须有被聚焦的对象] onKeyUp 当键盘上某个按键被按放开时触发的事件[注意:页面内必须有被聚焦的对象] 页面相关事件 onAbort 图片在下载时被用户中断 onBeforeUnload 当前页面的内容将要被改变时触发的事件 onError 捕抓当前页面因为某种原因而出现的错误,如脚本错误与外部数据引用的错误 onLoad 页面内空完成传送到浏览器时触发的事件,包括外部文件引入完成 onMove 浏览器的窗口被移动时触发的事件 onResize 当浏览器的窗口大小被改变时触发的事件 onScroll 浏览器的滚动条位置发生变化时触发的事件 onStop 浏览器的停止按钮被按下时触发的事件或者正在下载的文件被中断 onUnload 当前页面将被改变时触发的事件 表单相关事件 onBlur 当前元素失去焦点时触发的事件 [鼠标与键盘的触发均可] onChange 当前元素失去焦点并且元素的内容发生改变而触发的事件[鼠标与键盘的触发均可] onFocus 当某个元素获得焦点时触发的事件 onReset 当表单中RESET的属性被激发时触发的事件 onSubmit 一个表单被递交时触发的事件

js基础术语和概念总结

JavaScript基础术语和概念总结 一、什么是JavaScript ? JavaScript 是一种基于对象(Object)和事件驱动(Event Driven)并具有安全性能的脚本语言。使用它的目的是与HTML超文本标记语言、Java 脚本语言(Java 小程序)一起实现在一个Web页面中链接多个对象,与Web客户交互作用。它的出现使得信息和用户之间不仅只是一种显示和浏览的关系,而是实现了一种实时的、动态的、可交式的表达能力。 二、JavaScript的特点 JavaScript 是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言,主要用于创建具有交互性较强的动态页面。其具有以下特点: 1)基于对象:JavaScript 是基于对象的脚本编程语言,能通过DOM(文档结构模型)及自身提供的对象及操作方法来实现所需的功能。 2)事件驱动:JavaScript 采用事件驱动方式,能响应键盘事件、鼠标事件及浏览器窗口事件等,并执行指定的操作。 3)解释性语言:JavaScript 是一种解释性脚本语言,无需专门编译器编译,而是在嵌入JavaScript 脚本的HTML 文档载入时被浏览器逐行地解释,大量节省客户端与服 务器端进行数据交互的时间。 4)实时性:JavaScript 事件处理是实时的,无须经服务器就可以直接对客户端的事件做出响应,并用处理结果实时更新目标页面。 5)动态性:JavaScript 提供简单高效的语言流程,灵活处理对象的各种方法和属性,同时及时响应文档页面事件,实现页面的交互性和动态性。 6)跨平台:JavaScript 脚本的正确运行依赖于浏览器,而与具体的操作系统无关。只要客户端装有支持JavaScript 脚本的浏览器,JavaScript 脚本运行结果就能正确反 映在客户端浏览器平台上。 7)开发使用简单:JavaScript 基本结构类似C 语言,采用小程序段的方式编程,并提供了简易的开发平台和便捷的开发流程,就可以嵌入到HTML 文档中供浏览器解 释执行。同时JavaScript 的变量类型是弱类型,使用不严格。 8)相对安全性:JavaScript 是客户端脚本,通过浏览器解释执行。它不允许访问本地

克拉申的语言习得理论

克拉申的语言习得理论 在第二语言习得研究中成就最大、影响最广的要算克拉申。他的第二语言习得理论的提出实质上是对近二三十年来第二语言或外语学习研究的总结,并把各种研究成果加以理论化、系统化,使之成为自成体系的学说。克拉申从70年代初便开始研究第二语言习得。经过数十年的苦苦探索,他于80年代初发表了集其研究之大成的两部专著:《第二语言习得和第二语言学习》(Second Language Acquisitionand Second Language Learning)(1981)、《第二语言习得的原则和实践》(Principles and Practice in Second Language Acquisi-tion)(1982);并与特雷尔(T.Terrell)合作于1982年出版了《自然途径》(Natural Approach)一书。在这三部著作中,克拉申通过对第二语言习得过程的分析,系统地阐述了他的外语教学思想和体系。克拉申的第二语言习得理论主要由以下五个假设组成:1)习得—学习差异假设(The Acquisition-Learning Hypothesis)2)监检假设(The Monitor Hypothesis)3)输入假设(The Input Hypothesis)4)情感过滤假设(The Affective Filter Hypothesis)5)自然顺序假设(The Natural Order Hypothesis)1 习得—学习差异假设,克拉申理论的出发点和核心是他对“习得”和“学习”的区分,以及对它们各自在习得者第二语言能力形成过程中所起的作用的认识。根据“习得—学习差异”这一假设,成人是通过两条截然不同的途径逐步习得第二语言能力

克拉申教学理论

在第二语言习得研究中成就最大、影响最广的要算克拉申。他的第二语言习得理论的提出实质上是对近二三十年来第二语言或外语学习研究的总结,并把各种研究成果加以理论化、系统化,使之成为自成体系的学说。 克拉申从70年代初便开始研究第二语言习得。经过数十年的苦苦探索,他于80年代初发表了集其研究之大成的两部专著:《第二语言习得和第二语言学习》(Second Language Acquisitionand Second Language Learning)(1981)、《第二语言习得的原则和实践》(Principles and Practice in Second Language Acquisi -tion)(1982);并与特雷尔(T.Terrell)合作于1982年出版了《自然途径》(Natural Approach)一书。在这三部著作中,克拉申通过对第二语言习得过程的分析,系统地阐述了他的外语教学思想和体系。 克拉申的第二语言习得理论主要由以下五个假设组成: 1)习得——学得差异假设(The Acquisition-Learning Hy-pothesis) 2)监检假设(The Monitor Hypothesis) 3)输入假设(The Input Hypothesis) 4)情感过滤假设(The Affective Filter Hypothesis) 5)自然顺序假设(The Natural Order Hypothesis) 1习得——学得差异假设 克拉申第二语言习得理论的出发点和核心是他对“习得”和“学得”的区分,以及对它们各自在习得者第二语言能力形成过程中所起的作用的认识。根据“习得——学得差异”这一假设,成人是通过两条截然不同的途径逐步习得第二语言能力的。第一条途径是“语言习得”,这一过程类似于儿童母语能力发展的过程,是一种无意识地、自然而然地学习第二语言的过程。也就是说,在学习过程中,学习者通常意识不到自己在习得语言,而只在自然交际中不知不觉地学会了第二语言。第二条途径是“语言学习”,即通过听教师讲解语言现象和语法规则,并辅之以有意识的练习、记忆等活动,达到对所学语言的了解和对其语法概念的“掌握”。习得的结果是潜意识的语言能力;而学得的结果是对语言结构有意识的掌握。克拉申认为,只有语言习得才能直接地促进第二语言能力的发展,才是人们运用语言时的生产机制;而对语言结构有意的了解作为“学得”的结果,只能在语言运用中起监检作用,而不能视为语言能力本身的一部分。克拉申强调“习得” 是首要的、第一位的,但也并不排斥“学得”的作用。 2 监检假设

克拉申二语习得假说

克拉申关于二语习得的五个假说 克拉申是二语习得研究领域内最有影响力的学者,他所提出的语言习得理论,是近几 十年来影响广泛、解释全面以及引发讨论最多的理论。 克拉申的理论主要由以下五个假说组成: (1)习得---学得假说(The Acquisition—Learning Hypothesis) “习得”和“学得”有什么区别?它们在学习者形成第二语言的过程中分别发挥什么 作用?对这两个问题的认识,是克拉申理论的基本出发点。 克拉申认为,习得和学得是两个独立的过程,它们在心理过程、发生环境、知识性质和知识在大脑中的储存等诸多方面都各不相同,并且这两个过程也不能互相转化。“习得”是下意识(subconscious)的过程,类似于儿童获得母语的过程。习得者的注意力放在语言所传递的信息上,而非语言本身的形式上。通过自然交际,习得者下意识地将语言进行内化,自然而然地获得语言能力。“学得”则是有意识(conscious)的过程,学习者将注意力放在语言形式上而非语言所传递的信息上,学习者通过听教师讲解语言现象和语法规则,并辅之以有意识的练习、记忆等活动,达到对所学语言的了解和对其语法概念的掌握。“习得”来的语言,储存在大脑的语言区;学得来的语言,则不在语言区存储。 “习得”与“学得”的区别 习得学得 获得方式自然交际对语言的正式学习 关注语言传达的意义关注语言形式 心理过程下意识、内隐学习有意识,外显学习 知识类型隐形的语言知识显性的语言知识 难以用语言表达的程序性知识可以明确阐述的陈述性知识储存方式大脑左半球语言区在左半球,不一定在语言区 功能用于语言的自动加工,是语言理主要用来监控语言的加工过程, 解与生成的主要源头用于语言输出的监控和调整

第五章 克拉申的语言监控模式

第五章克拉申的语言监控模式 第一节语言监控模式的五个假说 一、语言监控模式(Monitor Model)的含义 也被称作“第二语言发展监控模式”(Monitor Model of Second Language Development)。 这个模式最初是Krashen(1979)在70年代提出来的。 二、克拉申的“五个中心假设” 习得与学习的假设(acquisition and learning hypothesis) 自然习得顺序假设(natural acquisition order hypothesis) 监控假设(monitor hypothesis) 输入假设(input hypothesis) 情感过滤假设(affective filter hypothesis) 1.监控假说图示 (1)学习者分类 监控过多者 监控不足者 监控合理者 (2)语言监控的条件 Krashen认为,在实际的语言输出过程中,运用语言监控需要三个基本条件: (1)必须有充足的时间; (2)注意力必须放在在语言形式上而不是意义上; (3)学习者必须了解语言规则。 2.情感过滤假设 Krashen利用这个概念来说明情感因素与第二语言习得的关系。 “情感”是指与学习者的动机、态度等相关的因素。 情感过滤指的是阻止学习者充分利用所接受的可理解的输入来习得语言的心理障碍。 正态的情感可以使学习者接受更多的言语输入,消极的情感则会阻碍言语输入的吸纳。 具有较强的学习动机、较高的自信以及焦虑感较低的学习者,即过滤程度较低的学习者可以获得充分的言语输入; 学习动机较弱、缺少自信、焦虑程度比较高,即过滤程度比较高的学习者可以获得的言语输入就比较少。 情感因素可以影响学习者的习得速率,但并不会影响习得的顺序。 三、语言监控模式的证据 1.母亲话语、保姆话语 2.教师话语、外国人话语 3.习得初期的沉默期 4.儿童与成年人的差异 5.可理解输入的量与二语水平的关系 6.教学方法:全身反应法、听力先行的教学法、沉浸式教学法 7.双语教育

js鼠标事件

事件 触发时机 一般事件 onclick 鼠标单击时触发此事件 ondblclick 鼠标双击时触发此事件 onmousedown 按下鼠标时触发此事件 onmouseup 鼠标按下后松开鼠标时触发此事件 onmouseover 当鼠标指针移动到某对象范围的上方时触发此事件 onmousemove 鼠标移动时触发此事件 onmouseout 当鼠标指针离开某对象范围时触发此事件 onkeypress 当键盘上的某个键被按下并且释放时触发此事件 onkeydown 当键盘上某个按键被按下时触发此事件 onkeyup 当键盘上某个按键被按放开时触发此事件 页面相关事件 onabort 图片在下载时被用户中断 onbeforeunload 当前页面的内容将要被改变时触发此事件 onerror 出现错误时触发此事件

页面内容完成时触发此事件 onmove 浏览器的窗口被移动时触发此事件 onresize 当浏览器的窗口大小被改变时触发此事件 onscroll 浏览器的滚动条位置发生变化时触发此事件 onstop 浏览器的停止按钮被按下时触发此事件或者正在下载的文件被中断 onunload 当前页面将被改变时触发此事件 表单相关事件 onblur 当前元素失去焦点时触发此事件 onchange 当前元素失去焦点并且元素的内容发生改变而触发此事件 onfocus 当某个元素获得焦点时触发此事件 onreset 当表单中RESET的属性被激发时触发此事件 onsubmit 一个表单被递交时触发此事件 滚动字幕事件 onbounce 在Marquee内的内容移动至Marquee显示范围之外时触发此事件 onfinish 当Marquee元素完成需要显示的内容后触发此事件 onstart 当Marquee元素开始显示内容时触发此事件

基于Web的产品协同设计场景的实现

Software Engineering and Applications 软件工程与应用, 2018, 7(3), 188-199 Published Online June 2018 in Hans. https://www.360docs.net/doc/9810222966.html,/journal/sea https://https://www.360docs.net/doc/9810222966.html,/10.12677/sea.2018.73022 Realization of Collaborative Design Scene Based on Web Jingjun Wang1, Xiuli Shao2, Huichao Li2, Mengmeng Yao2 1Tianjin Baili Ertong Machinery Co., Ltd., Tianjin 2Department of Computer and Control Engineering, Nankai University, Tianjin Received: Jun. 9th, 2018; accepted: Jun. 22nd, 2018; published: Jun. 29th, 2018 Abstract Product design work often requires many people to participate in different places. Therefore, this article designs and implements a Web-based product collaborative design system, which realizes the construction and restoration of a design scenario for a collaborative product, the loading of parts libraries, and the addition and editing functions of part models in the scene, dialogs in the design process, various documents, and interactive design features for the product. Keywords Collaborative Design, Scene Creation, Scene Recovery, WebGL 基于Web的产品协同设计场景的实现 王景军1,邵秀丽2,李慧超2,姚萌萌2 1天津百利二通机械有限公司,天津 2南开大学,计算机与控制工程学院,天津 收稿日期:2018年6月9日;录用日期:2018年6月22日;发布日期:2018年6月29日 摘要 产品设计工作往往需要多人异地参与,因此,本文设计实现了基于Web的产品协同设计系统,实现了针对某一协同产品的设计场景的构建与恢复、零件库的加载、场景中零件模型的添加与编辑功能,设计过程中的对话、各种文件,以及在线对产品的交互设计功能。

克拉申理论主要由以下五个假说组成

克拉申理论主要由以下五个假说组成: 1 习得---学得区别假说(The Acquisition—Learning Hypothesis) 克拉申理论的出发点和核心是他对“习得”和“学得”的区分,以及对它们各自在习得者第二语言能力形成过程中所起的作用的认识。 2 监控假说(The Monitor Hypothesis) 监控假说与习得---学得区别假说密切相关,它体现了“语言习得”和“语言学习”的在关系。根据这个假设,语言习得与语言学习的作用各不相同。语言习得系统,即潜意识语言知识,才是真正的语言能力。而语言学得系统,即有意识的语言知识,只是在第二语言运用时起监控或编辑作用。这种监控功能既可能在语言输出(说、写)前也可能在其后。但是,它能否发挥作用还得依赖于三个先决条件:1)有足够的时间,即语言使用者必须要有足够的时间才能有效地选择和运用语法规则;2)注意语言形式,即语言使用者的注意力必须集中在所用语言的形式上,也就是说,必须考虑语言的正确性;3)知道规则,即语言使用者必须具有所学语言的语法概念及语言规则知识。在口头表达时,人们一般注意的是说话的容而不是形式,没有时间去考虑语法规则。因此,在说话时,如果过多地考虑使用语法监控,不断地纠正自己的语法错误,说起话来就会结结巴巴,妨碍交际进行。在书面表达时,情况就会好得多,因为作者有足够的时间推敲字句,斟酌语法。 3 输入假说(The Input Hypothesis) 输入假说也是克拉申语言习得理论的核心部分。他曾用一本专著论述他的这个假说。克拉申认为,只有当习得者接触到“可理解的语言输入”(comprehensive input ),即略高于他现有语言技能水平的第二语言输入,而他又能把注意力集中于对意义或对信息的理解而不是对形式的理解时,才能产生习得。这就是他著名的i + 1 公式。i 代表习得者现有的水平, 1 代表略高于习得者现有水平的语言材料。根据克拉申的观点,

课题_js键盘事件

js键盘事件 js键盘事件,详见下: event.keycode大全(javascript) keycode 8 = BackSpace BackSpace keycode 9 = Tab Tab keycode 12 = Clear keycode 13 = Enter keycode 16 = Shift_L keycode 17 = Control_L keycode 18 = Alt_L keycode 19 = Pause keycode 20 = Caps_Lock keycode 27 = Escape Escape keycode 32 = space space keycode 33 = Prior keycode 34 = Next keycode 35 = End keycode 36 = Home keycode 37 = Left keycode 38 = Up keycode 39 = Right keycode 40 = Down keycode 41 = Select keycode 42 = Print keycode 43 = Execute keycode 45 = Insert keycode 46 = Delete keycode 47 = Help keycode 48 = 0 equal braceright keycode 49 = 1 exclam onesuperior keycode 50 = 2 quotedbl twosuperior keycode 51 = 3 section threesuperior keycode 52 = 4 dollar keycode 53 = 5 percent keycode 54 = 6 ampersand keycode 55 = 7 slash braceleft keycode 56 = 8 parenleft bracketleft keycode 57 = 9 parenright bracketright keycode 65 = a A keycode 66 = b B keycode 67 = c C keycode 68 = d D keycode 69 = e E EuroSign keycode 70 = f F keycode 71 = g G keycode 72 = h H keycode 73 = i I keycode 74 = j J keycode 75 = k K keycode 76 = l L

浅谈对克拉申二语习得理论的理解

浅谈对克拉申二语习得理论的理解 二语习得是指在自然或者有指导的情况下,人们有意识或无意识的学习并掌握母语以外的一门语言的过程。20世纪80年代初,受乔姆斯基语言习得机制的启发,美国应用语言学家克拉申提出二语习得理论,在其著作《第二语言习得的理论与实践》中提出“监察模型”。克拉申认为,在二语习得中,影响学习效果的因素很多,但主要为情感因素和学习者的智力因素。该理论由5大假说构成,分别为:习得与学习假说,监控假说,自然顺序假说,输入假说,情感过滤假说。下面我将就这五点谈谈自己的一点看法。 一、习得与学习假说 习得和学习假说是克拉申五种假说中最重要的,也是广为语言学家和从业者所熟悉的。习得和学习为成人第二语言习得者用两种不同的方式获得语言的能力。习得是潜移默化的无意识的行为与过程,例如儿童获取第一语言就是一种习得过程,其结果便是形成语感。这种习得来自于自然环境中有意义的交流,谈话者注重的是表达意思而非语法规则正确与否。而学习是可观察且有意识的,在语言学习中,发现错误并纠正错误是学习过程中的重要环节。因此,区分语言习得与学习的标准是学习者对语言规则运用的有意识程度,而非语言环境。 此外,克拉申还提出了著名的“无接口”理论,即习得的知识与学习得到的知识是两种相互独立的知识,无法转换。然而,对克拉申的这种“无接口”理论有部分人士提出质疑,他们认为,学习者在课堂环境中学到二语语法知识是他们关于目的语语法理性知识的主要来源。经过反复操练和实践运用以后,这种外显知识即学习的知识可变得程序化、自动化,从而逐步转化为内隐知识,即习得的知识,这就是所谓的“有接口”理论。笔者认为,这种不同意见的出现很有意义,既体现了人们对这一问题的深入思考,也为二语教学实践提供了更多的理论依据。 二、监控假说 该假说认为,学习者在用第二语言表达时,常常会不自觉留意自己的语言是否正确。这种“注意”或“留心”其实就是监控过程。其基本意思为:言语由“习得系统”产生,学习只有一种功能,即“监察”或“编辑”。克拉申认为,学习与习得在第二语言运用中的作用是截然不同的:说话者的话语内容及流利程度由“习得”决定,通过学习获得的知识在头脑中只起监控作用。根据所学的有意义的语言知识对正在产出的语言进行检查和控制。应该承认的是,监控假说对第二语言教学有一定启发意义,监控模式的发展依赖于课堂上正式语法规则的传授训练。但笔者认为,在第二语言的学习中,要更强调语言习得这一过程,将重点

第四讲:键盘事件讲解

第四讲:键盘事件 【事件驱动】 所谓的事件驱动其实就是当满足什么样的条件下发生另外一件事情。比如当你按下按钮时就会执行相应的代码一样。由于控制台程序在同一个时刻只能够执行一个任务,这就造成了在处理事件的效率上太过于低下,通常现代的程序都是面向多任务的,也就是说同一个时间段可以完成好几个功能,那么如何才能够做到这一点呢?就依赖于事件驱动机制。 理解事件驱动就必须要先理解事件,所谓的事件(Event)其实就是触发某样事情发生的条件,例如键盘按下、单击按钮、双击图标等等。这些称之为事件。而当这些事件发生之后,就会触发另外一件事情。例如当我们点击“百度搜索”按钮时就会跳转到搜索的结果界面一样。 当然,采用事件驱动的直接原因就是最大化利用CPU,由于控制台程序的限制,我们不能够完成多任务的操作(早期的DOS操作系统是单用户单任务的,即同一个时刻只能够完成一个任务,效率很慢)故此我们需要事件驱动这样的机制为我们提高效率,为我们最大化利用CPU资源。 简而言之,事件驱动就是一个用于提高程序效率的机制。如果上述还没有让你明白过来,你可以看看百度百科上的解释,如下: 【程序查询方式】 通常检测事件有两种方法,一种称为程序查询法,一种称之为程序中断法。由于在控制台中我们无法直接使用系统中断(系统中断只有汇编语言可以直接使用),因此我们无法在高级语言中使用程序中断法检测指令。故此只能够使用程

序查询方式进行事件的检测。 所谓的程序查询方式实际上是利用一个死循环不停地对事件进行查询,如果事件发生则执行相应的代码,当代码执行结束之后继续开始下一轮的查询,由于CPU的计算速度相当快,你不用担心会有延时的问题。这样一轮一轮查询的方式,我们称之为程序查询方式,也叫轮询法。 程序查询法的流程图如下: 【键盘按下事件】 所谓的键盘事件,是指无论在何时只要键盘按键被按下,即可被程序所截获,并执行相应的功能代码。故此负责监听键盘事件的API函数会一直处于工作状态,在MFC中我们可以通过死循环进行操作,当然也可以通过我们即将接触到的多线程编程进行操作。在这里我们介绍如何利用死循环监听键盘。 【DWORD类型】 在MFC中,通常会见到DWORD类型,所谓的DWORD类型就是Double Word类型,即双字节类型,MFC中将unsigned long类型使用typedef关键字重新制定为DWROD类型。MFC框架中的声明如下: 故此,DWROD类型的本质其实是一个无符号的长整型数。在MFC中我们可以使用DWORD类型表示任何双字节的数据。这里笔者将不再重复如何使用DWORD类型的变量的方法。

克拉申的语言习得理论

克拉申的语言习得理论 斯蒂芬·克拉申(Stephen Krashen)1941年出生于美国芝加哥,现为美国南加州大学荣休教授,他毕生致力于第二语言获得的研究,这为他赢得了世界性声誉。克拉申在20世纪中叶以来提出的第二语言学习得的“输入假说模式”,这是近几十年来影响广泛、解释全面又很具争议性的理论。早在1970 年代初克拉申就提出了“监控模式”(The Monitor Model) ,该模式以“监控假说(The Monitor Hypothesis)”为核心;80 年代中叶,克拉申对之进一步扩充修订,转为以“输入假说”(The input hypothesis) 为中心,形成了“输入假说模式”。 “输入假说模式”由五个互相联系的核心假说构成,它们分别是: ①语言习得- 学得(The Acquisition—Learning Hypothesis)假说; ②自然顺序假说(The Natural Order Hypothesis); ③监控假说; ④语言输入假说; ⑤情感过滤假说(The Affective Filter Hypothesis)。这五个假说彼此联系、互相补充,构成了一个有机整体。 1 习得---学得区别假说(The Acquisition—Learning Hypothesis) 克拉申理论的出发点和核心是他对“习得”和“学得”的区分,以及对它们各自在习得者第二语言能力形成过程中所起的作用的认识。“习得”是潜意识过程,是注意意义的自然交际的结果,儿童习得母语便是这样的过程。习得的语言系统处于大脑左半球语言区,是自发语言运用的根本。与之相对的是“学得”,这是个有意识的过程,即通过课堂教师讲授并辅之以有意识的练习、记忆等活动,达到对所学语言的了解和对其语法概念的“掌握”。“学得”的系统虽然在大脑左半球,但不一定在语言区。克拉申认为,只有“习得”才能直接促进第二语言能力的发展,才是人们运用语言时的生产机制;而对语言结构有意的了解作为“学得”的结果,只能在语言运用中起监控作用,而不能视为语言能力本身的一部分。 2 监控假说(The Monitor Hypothesis) 监控假说与习得---学得区别假说密切相关,它体现了“语言习得”和“语言学习”的内在关系。根据这个假设,语言习得与语言学习的作用各不相同。语言习得系统,即潜意识语言知识,才是真正的语言能力。而语言学得系统,即有意识的语言知识,只是在第二语言运用时起监控或编辑作用。这种监控功能既可能在语言输出(说、写)前也可能在其后。但是,它能否发挥作用还得依赖于三个先决条件:1)有足够的时间,即语言使用者必须要有足够的时间才能有效地选择和运用语法规则;2)注意语言形式,即语言使用者的注意力必须集中在所用语言的形式上,也就是说,必须考虑语言的正确性;3)知道规则,即语言使用者必须具有所学语言的语法概念及语言规则知识。 在口头表达时,人们一般注意的是说话的内容而不是形式,没有时间去考虑语法规则。因此,在说话时,如果过多地考虑使用语法监控,不断地纠正自己的语法错误,说起话来就会结结巴巴,妨碍交际进行。在书面表达时,情况就会好得多,因为作者有足够的时间推敲字句,斟酌语法。 3 输入假说(The Input Hypothesis) 输入假说也是克拉申语言习得理论的核心部分。他曾用一本专著论述他的这个假说。克拉申认为,只有当习得者接触到“可理解的语言输入”(comprehensive input ),即略高于他现有语言技能水平的第二语言输入,而他又能把注意力集中于对意义或对信息的理解而不是对形式的理解时,才能产生习得。这就是他著名的i + 1 公式。i 代表习得者现有的水平, 1 代表略高于习得者现有水平的语言材料。根据克拉申的观点,这种i + 1 的输入并不需要人们故意地去提供,只要习得者能理解输入,而他又有足够的量时,就自动地提供了这种输入。克拉申认为,理想的输入应具备以下几个特点:

相关文档
最新文档