按键精灵插件制作
的有关信息介绍如下:下面是为初学插件制作的同学准备的,最终目的是教大家怎么编写一个可以改变屏幕分辨率的插件。 如果没有插件功能,按键精灵还能做什么呢? 答案是不言而喻的。
什么是COM组件技术?插件技术就是COM技术,COM技术,其实是程序员想偷懒才产生的,因为它不仅可重用,而且一旦编写出来,可以被各种编程语言所使用。什么是可重用?比如你在3个脚本中,都同时都用到add这个方法,通常地,我们会在每个脚本中都加这样一个add方法,如图
那么,如果我们需要改动add函数的内容,就只用在组件add方法里面修改就ok,脚本调用处不用更改。这里就可以有一个感性的认识,COM组件就是dll文件或ocx文件,dll文件就是方法和属性集合,ocx是特殊的dll文件,多了用户界面和事件响应什么是可被多种编程语言使用?只要这种编程语言支持COM规范,它就能使用其他语言所编写的组件。比如,你用C++编写了一个com组件,它就可以被支持COM规范的java语言或VB语言所调用,这节省了大量的开发时间,并且资源共享。
实战,编写一个改变屏幕分辨率的插件这里不深究COM技术的细枝末节,大家只需要知道如何开发一个插件就行了。这里我使用VC6来进行开发,如果没装VC6,请百度,并下载VC++ 6.0 安装。接下来,为了避免新手不熟悉VC6的开发环境,我们这里借鸡生蛋。找到按键精灵目录下的D:\按键精灵9\source文件夹,解压 File插件源代码(VC 6.0).zip 压缩包
进入到 D:\按键精灵9\source\File插件源代码(VC 6.0) 目录下
双击 File.dsw 这个最明显的图标,如果前面安装成功,应该得到下面的界面,点击CQMPlugin.cpp文件,这个文件就是我们要编写代码的地方
接着 Ctrl + W 出现向导框,照图依次操作
DEVMODE devmode;ZeroMemory(&devmode, sizeof(DEVMODE));devmode.dmSize = sizeof(DEVMODE); EnumDisplaySettings(NULL,ENUM_CURRENT_SETTINGS,&devmode);devmode.dmPelsWidth = width;devmode.dmPelsHeight = height;ChangeDisplaySettingsEx(NULL,&devmode,NULL,CDS_SET_PRIMARY,NULL);然后再CQMPlugin:ESCRIPTION_LIST CQMPlugin::m_DescriptionList[] = {......} 添加{"setDeskTopSize","改变桌面分辨率"},
然后将组建框里面的方式设置为Win32 Release
到这个组建框,请在工具栏上右键,选中 组建 这一项就出现了最后按 F7编译,前面操作无误的话,应该是编译通过
进入到 D:\按键精灵9\source\File插件源代码(VC 6.0)\Release 目录下,生成的File.dll就是我们的COM组件了,关闭VC和按键精灵后,将其放到D:\按键精灵9\plugin目录下打开按键精灵,新建脚本,你会发现在File插件下 会多出setDeskTopSize这个功能
Plugin.File.setDeskTopSize 800,600 运行试试 运行后记得改回原来的分辨率Plugin.File.setDeskTopSize 1366,768电子书:关于更多的COM技术,有一本非常好的电子书分享给大家,我这里上传不了这么大的附件大家请百度 COM原理与应用.pdf 作者是潘爱民 的最后给大家的建议按键精灵是脚本语言,是一种解释性语言,它由按键精灵自己的解释器来执行,应该是由VBS的解释器WScript.exe 揉和上官方自己的的的新特性,比如VBS原生语法里面有Class的用法,按键里面则不支持类的定义(这是很大的损失),而按键里则有多线程这个概念,也就是BeginThread,这是VBS里面没有的,同时也是按键精灵的亮点;而编译性的语言如C/C++能很好的补足脚本语言的不足,如果大家想让自己写出更强大的脚本,必须依靠插件才行,而插件的编写是需要基础的,我这里推荐大家学习先学C语言,然后再学习VC,然后在学习COM技术,就可以进行插件的开发了。我上面也就是演示了一遍开发插件的流程,大家代码看不懂的可以百度,但不要深究。