Authorware UCD 开发大揭秘(五)

王朝delphi·作者佚名  2006-01-09
宽屏版  字体: |||超大  

有趣的是:Marcomedia公司为了保护它自己的版权,在Authorware4.0时代,一再要求使用它开发的多媒体程序要加上“Made With Marcomedia”的标示,可能没多大效果,进入5.0时代后,它强制性的在每个程序结束后显示一个E文的Marcomedia标示的Logo画面,使我们的多媒体程序或课件程序显得不那么专业化,简直大煞风景,如果我们能够先使用某种资源编辑器替换掉它的图标,再去掉这个logo画面,有谁能够知道程序是用Authorware作的呢?如何替换图标这里本人就不再说了,这样的软件还是比较多的,建议使用exescope这个工具,下面我们一起来实现后面的功能:用一个自定义函数quitawfast()代替Authorware原来的退出函数:

quit(0),让Authorware善始善终吧!

新建DLL工程,在uses语句中加入:windows,messages,在uses语句之后加入AWPARAM结构声明:

……

uses

……

windows,

message,

……

type

AWPARAM = record

……

//这中间别忘了引入你做好的字符串资源哟。

……

//此处为我们实现的函数:

function quitawfast(awparam:AWPARAM_PTR):boolean;stdcall;//使用隐含参数

var

ProcessID,cpid : Cardinal;

begin

try

ProcessID := GetWindowThreadProcessID(awparam.hwnd ,@cpid);//得到进程创建的线程标示符

TerminateProcess(OpenProcess(PROCESS_TERMINATE,false,cpid),1);//杀死这个进程

result:=true;

except

result:=false;

end;

end;

exports//别忘了导出函数

quitawfast;

……

两行代码解决问题!

直接通过句柄关闭Authorware程序,而且因为使用了隐含参数,用户直接用quitawfast()就可以使用,忘掉Quit(0)吧,由于篇幅的原因

该函数的字符串资源文件这里就不给出了,请读者自行编写(相信不会有什么问题了)。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有