Delphi 能不能从Ring 3进入Ring 0?
楼主skyworld_xm(skyworld)2004-11-19 09:58:55 在 Delphi / Windows SDK/API 提问
Delphi 能不能从Ring 3进入Ring 0?
有例子吗?
多谢. 问题点数:100、回复次数:20Top
1 楼jinjazz(近身剪)回复于 2004-11-19 10:13:27 得分 10
我发现了一篇发表在1999.11.29 b13版的
《令win32应用程序跳入系统层》东南大学 卢威 luwei@126.com
是用vc++嵌汇编做的,
很接近了,可试试
BCB或DELPHI进入Ring0
东南大学卢威1999.12发表在<<计算机世界>>报上的一篇
<<WIN32跳入系统0层>>,原采用VC++编程,现改成C++Builder
供诸位参考,DELPHI类似;
void Ring0Proc() // 在Ring0中执行你自已的代码
{
// .......
......
1.因为KeyPreview默认是 False;我们这里需要响应键盘事件的话,需要将其修改为True;
所以KeyPreview:=True; 这对一些快捷键会有用。
在窗体属性上修改KeyPreview := True;
2.在窗体的FormKeyDown函数里写:
if KeyPreview then
Form将先响应键盘事件(在TEdit等控件之前)
else
除非Form Got Focus,否则Form不响应键盘事件
3.如果有其他窗体获得焦点,有时候必须修改其他控件的onkeydown
......
由于组件提供的方式不同,所以安装的方法也是不一样的,下面就目前常见的各种形式的组件的安装方法介绍一下。
1、只有一个dcu文件的组件。dcu文件是编译好的单元文件,这样的组件是作者不想把源码公布。一般来说,作者必须说明此组件适合delphi的哪种版本,如果版本不对,在安装时就会出现错误。也正是因为没有源码,给使用者带来了不便,那就是一旦delphi版本升级,此组件就不能再使用了,当然有的作者给出了几种版本的dcu文件,用户根据需要选择使用。这样的组件的安装方法是:在component菜单中,选择install component,在对话框中的"into existing package"页中,单击“unit file name”后的“browse”按钮,在打开的文件对话框中,将“文件类型”设定为*.dcu,找到要安装的dcu文件,按ok按钮返回"into existing package"页后再按ok按钮就可以安装了。注意,此时delphi会提示dclusr40.dpk将被重建,是否继续,ok就可以了。这里是将组件安装到dclusr40.dpk包中,此包从文件名上可以看出是用户自定义组件包,先安装到这个包中吧,下面再讲有关注意事项。安装完毕会有已经将组件注册完的提示信息以及安装到哪个组件页中的信息等,到
组件 ......
转自www.cnbeta.com/articles/108735.htm
JavaScript 是一款强大的广泛运用于现代Web站点及应用的脚本语言。作为一个技艺精湛的 Web 开发者,掌握JavaScript可以增强用户的使用体验,提供交互及富客户端等功能。
尽管JavaScript 的语法非常简单,但对于写程序而言仍然是困难重重,就是因为它的运行环境:基于Web浏览器。
以下您可以看到收集的8个实用的 JavaScript 测试及效验工具,它们都可以在不同环境下进行单元测试及校验测试您的脚本。
JSLint
JSLint是基于Web的验证JavaScript错误代码的工具。它拥有的功能及特定的设置来使用您的需求,自定义你的验证算法。
JsUnit
JsUnit是一款在客户端(在浏览时)的单元测试JavaScript框架。对JavaScript而言,JUnit就像是它的一个端口。当然它也可以在多 个浏览器、多个机器的不同操作系统中自动运行。它的发展始于2001年1月。
J3Unit
J3Unit是一个面向对象的JavaScript单元测试框架。J3Unit在网页浏览器中直接运行JavaScript的测试,也可以自动运行 JUnit 和 Jetty。J3Unit是建立在JUint和Script.aculo.us的基础之上来更好地实现自动运行JavaScript 单元测试。面向对象的JavaScript单元测试 ......
(1)var recat = new RegExp("cat"); //简单定义。
var recat = new RegExp("cat","gi");//g->global,i->case insensitive.
var recat = /cat/gi; //perl模式
(2)var sToMatch = "cat";
var reCat = /cat/;
alert(reCat.test(sToMatch)); //true
var sToMatch = "a bat, a cat, a Fat Cat, a faT caT";
var reAt = /at/;
var arrMatches = reAt.exec(sToMatch); //只返回第一个at出现的实例,bat. 注意这里使用exec时,参数是原字符串
var sToMatch = "a bat, a cat, a Fat Cat, a faT caT";
var reAt = /at/gi;
var arrMatches = sToMatch.match(reAt); //这里使用match时候 ......
JavaScript 是一款强大的广泛运用于现代Web站点及应用的脚本语言。作为一个技艺精湛的 Web 开发者,掌握JavaScript可以增强用户的使用体验,提供交互及富客户端等功能。
尽管JavaScript 的语法非常简单,但对于写程序而言仍然是困难重重,就是因为它的运行环境:基于Web浏览器。
以下您可以看到收集的8个实用的 JavaScript 测试及效验工具,它们都可以在不同环境下进行单元测试及校验测试您的脚本。
JSLint
JSLint是基于Web的验证JavaScript错误代码的工具。它拥有的功能及特定的设置来使用您的需求,自定义你的验证算法。
JsUnit
JsUnit是一款在客户端(在浏览时)的单元测试JavaScript框架。对JavaScript而言,JUnit就像是它的一个端口。当然它也可以在多 个浏览器、多个机器的不同操作系统中自动运行。它的发展始于2001年1月。
J3Unit
J3Unit是一个面向对象的JavaScript单元测试框架。J3Unit在网页浏览器中直接运行JavaScript的测试,也可以自动运行 JUnit 和 Jetty。J3Unit是建立在JUint和Script.aculo.us的基础之上来更好地实现自动运行JavaScript 单元测试。面向对象的JavaScript单元测试是由Script.aculo.us的Test.Unit.Runner对象编写的,基于 prototype Jav ......