盗版微软XP系统防止20号出现黑屏及出现黑屏后的解决办法
作者:admin 日期:2008-10-16
10月20日微软将在中国再次对盗版WindowsXP进行打击,并首次对盗版Office进行验证,装有盗版Windows XP及Office将被强制插入多处明显的提醒标识。除不断弹出提醒盗版用户正在使用盗版软件外,微软还将采取黑屏等手段来打击盗版软件。
据了解,为打击盗版,微软一直在寻求解决方法,包括联合相关版权部门打击盗版,不过收获甚小。2007年3月微软在中国推出Windows正版增值计划(WGA通知),同时Office的正版增值计划OGA也是首次在国内发布。其中WGA针对Windows XP专业版的用户,OGA针对Office XP、Office 2003和Office 2007的用户,这两个通知可通过软件升级自动下载到用户电脑中。
“这两个验证工具,可以自动检测验证用户电脑上安装的Windows XP和Office是否为正版软件,如果是使用的盗版软件,则会不断收到提示信息,还将频繁遭遇黑屏。”微软相关负责人向记者表示。
据了解,为打击盗版,微软一直在寻求解决方法,包括联合相关版权部门打击盗版,不过收获甚小。2007年3月微软在中国推出Windows正版增值计划(WGA通知),同时Office的正版增值计划OGA也是首次在国内发布。其中WGA针对Windows XP专业版的用户,OGA针对Office XP、Office 2003和Office 2007的用户,这两个通知可通过软件升级自动下载到用户电脑中。
“这两个验证工具,可以自动检测验证用户电脑上安装的Windows XP和Office是否为正版软件,如果是使用的盗版软件,则会不断收到提示信息,还将频繁遭遇黑屏。”微软相关负责人向记者表示。
QQ木马delphi源码
作者:admin 日期:2008-07-23
delphi,实现QQ尾巴钓子
作者:admin 日期:2008-07-23
Hook API 之进程保护
作者:admin 日期:2008-07-23
Delphi嵌入式汇编一例
作者:admin 日期:2008-06-27
Delphi编程技巧十则
作者:admin 日期:2008-06-27
回调函数与Delphi的事件模型
作者:admin 日期:2008-06-27
回调函数:回调函数是这样一种机制:调用者在初始化一个对象(这里的对象是泛指,包括OOP中的对象、全局函数等)时,将一些参数传递给对象,同时将一个调用者可以访问的函数地址传递给该对象。这个函数就是调用者和被调用者之间的一种通知约定,当约定的事件发生时,被调用者(一般会包含一个工作线程)就会按照回调函数地址调用该函数。这种方式,调用者在一个线程,被调用者在另一个线程。在Windows API中有一些函数使用回调函数,例如CreateThread、SetWindowLong等。对应的回调函数定义为如下形式:function CallBackFunc(Wnd: HWND; Msg, WParam, LParam: Longint): Longint;stdcall;procedure ThreadFunction(Ptr: Pointer);stdcall;消息:消息也可以看作是某种形式的回调,因为消息也是在初始化时由调用者向被调用者传递一个句柄和一个消息编号,在约定的事件发生时被调用者向调用者发送消息。这种方式,调用者在主线程中,被调用者在主线程或者工作线程中。Delphi事件模型:在Delphi的VCL中有很多可视化组件都是使用事件模型,例如TForm的OnCreate事件,其原理是:在设计时指定事件函数,在运行时事件触发,则会调用在设计时指定的事件函数。在机制上,Delphi事件模型与回调是一样的。但具体形式有些区别,纯的回调函数是全局函数的形式,而Delphi事件是对象方法的形式,即可以定义如下回调函数类型typeTCallBackFunc = procedure (pData: Pointer) of object;这就使得Delphi事件只能在Delphi内部使用,而回调函数是可以跨语言的。另外还要注意,回调函数一般(在Delphi的组件是在主线程中)是在回调体中创建的线程,因此要有临界区保护。
Tags: 回调函数 Delphi事件模型
如何为Delphi程序添加事件和事件处理器
作者:admin 日期:2008-06-27
Delphi是一种功能很强的可视化程序开发工具。我们在使用Delphi开发WINDOWS 应用程序的过程中,虽然Delphi为每个可视化组件都提供了很多属性(Property)和事件(Event),但在实际应用中可能会碰到一些自己需要的特殊事件,这些特殊事件Delphi 又没有提供,这时我们就需要为应用程序添加这些特殊事件。当这些事件发生后,又能马上调用处理这些事件的过程。本文通过实例来说明如何为应用程序添加事件和处理事件的过程。
在Delphi中,事件实际上是专门化的属性,它是一个过程(procedure)的指针。要添加事件,首先应在所定义的类中说明一个用来指向事件过程的指针,该指针的作用是当事件一旦发生,就通过这个指针执行所指向的处理这个事件的过程。最后通过指定符 published公布定义的事件属性以及与之关联的事件处理过程指针。
本例中,FtooBig为定义的事件处理过程指针,OnTooBig为事件属性名。事件处理过程指针FtooBig通过程序的初始化使之指向过程TooBig1。在Delphi的表单(Form1)上放置三个编辑框,分别为Edit1、Edit2和Edit3,放一按钮Button1。程序中设私有整型变量val1、val2和res,变量res用来记录val1和val2的乘积,并用Edit3显示出来。当通过Edit1和Edit2输入的数据有一个大于100时,会触发一个事件,并调用事件处理过程TooBig1显示一个对话框,说明此事件已经发生并已进行处理。源程序代码如下, 该程序在Delphi 3中调试通过。
unit Unit1;
在Delphi中,事件实际上是专门化的属性,它是一个过程(procedure)的指针。要添加事件,首先应在所定义的类中说明一个用来指向事件过程的指针,该指针的作用是当事件一旦发生,就通过这个指针执行所指向的处理这个事件的过程。最后通过指定符 published公布定义的事件属性以及与之关联的事件处理过程指针。
本例中,FtooBig为定义的事件处理过程指针,OnTooBig为事件属性名。事件处理过程指针FtooBig通过程序的初始化使之指向过程TooBig1。在Delphi的表单(Form1)上放置三个编辑框,分别为Edit1、Edit2和Edit3,放一按钮Button1。程序中设私有整型变量val1、val2和res,变量res用来记录val1和val2的乘积,并用Edit3显示出来。当通过Edit1和Edit2输入的数据有一个大于100时,会触发一个事件,并调用事件处理过程TooBig1显示一个对话框,说明此事件已经发生并已进行处理。源程序代码如下, 该程序在Delphi 3中调试通过。
unit Unit1;







