"陷阱"技术探秘 ──动态汉化Windows技术的分析 (转)
"陷阱"技术探秘 ──动态汉化Windows技术的分析 (转)[@more@]"陷阱"技术探秘 ──动态汉化windows技术的分析 四通利方(RichWin)、中文之星(CStar)是大家广为熟知的汉化Windows产品,"陷阱"技术即动态修改Windows代码,一直是其对外宣称的过人技术。本文从Windows的模块调用机制与重定位概念着手,介绍了"陷阱"技术的实现,并给出了采用"陷阱"技术动态修改Windows代码的示例源程序。 一、发现了什么? 笔者多年来一直从事Windows下的软件开发工作,经历了Windows 2.0 、 3.0 、3.1 ,直至Windows 95、NT的成长过程,也遍
Inet控件中上载的路径、文件名中出现空格的解决办法 (转)
Inet控件中上载的路径、文件名中出现空格的解决办法 (转)[@more@] 在VB中调用.NET控件时当本地的文件路径,或文件名里面出现空格时则相应的文件便上传不到服务器,会发生错误,那么怎么解决呢? 其实办法很简单:在该路径或文件名两边加双引号就行了。 例子如下:Inet1.Execute txtURL.Text, "PUT ""C:My DocumentsSend.txt"" SentDocsSent.txt"。 其中本地文件名为:C:My DocumentsSend.txt,要在两端加双引号。为什么要写两个呢?因为此双引号是在字符串的双引号之中,一个应该变两个。 欢迎大家和我交流。Mailto:lvgang@cas
在C++ Builder中使用ActiveX控件显示Flash动画 (转)
在C++ Builder中使用ActiveX控件显示Flash动画 (转)[@more@] 在C++ Builder中使用ActiveX控件显示Flash动画 在微软的大力扶持下,越来越多的软件公司开始支持ActiveX了,这对于喜欢编程的朋友来说可是件值得高兴的事!因为我们可以在程序中很方便地调用外部的OCX文件来实现复杂的功能(比尔·盖茨这回总算做了件好事),比如在你的程序中调用IE来显示HTML文件等。今天我想向大家介绍一下如何在C++ Builder中使用ActiveX控件显示Flash动画。 1.安装、导入ActiveX控件 本文的主角是:swflash.ocx,这个文件windows98中附带
怎样在PB中实现文件的拷贝与删除 (转)
怎样在PB中实现文件的拷贝与删除 (转)[@more@]怎样在PB中实现文件的拷贝与删除,可借助外部函数可用api函数实现: 1、文件拷贝 函数声明: FUNCTION boolean CopyFileA(ref string cfrom, ref string cto, boolean flag) LIBRARY "Kernel32.dll" 调用: string ls_source, ls_des boolean lb_flag, lb_rtn lb_flag = false ls_source = "c:book.xls" //源文件 ls_des = "C:tmp111.xls" //目标文件 lb_rtn = CopyFileA(ls_source, ls_des, lb_flag) MessageBox("文件拷贝", string(lb_rtn)) 2、
白马非马----继承 (转)
白马非马----继承 (转)[@more@]白马非马XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" /> ----继承 作者:HolyFire 古人云:“白马非马”,为何如是说呢。 这里有个讲究,白马是指一种白色的马,而非马里的马指的是各种各样的马,有黑马,棕吗,五花马等等,这是在颜色上有所区别,马还有产地,品种等等区别。这里给了我们一个启示,各种各样的马可以找出很多共同点,称之为马,符合这些特点的动物就是马了,所以这些共同点不能多也不能少,多了不能同用于所有的马,少了表达不出马来。要区别一
简析J2EE应用程序数据库类设计模式 (转)
简析J2EE应用程序数据库类设计模式 (转)[@more@]本文主要介绍一种数据库相关类的设计模式。并介绍在J2EE框架中的具体实现,以及在事务处理方面的一些考虑。 一、设计模式简介 在开发J2EE应用程序时,通常是要找出应用程序中涉及到的各种信息,比如一个公司的产品目录,或一个网站的用户信息,我们会将这些信息放在数据库里。 在通常的设计中,我们要分析这些数据的属性和关系,然后进行数据库的逻辑设计,把各种信息用不同的表来存储。比如,要开发一个图书信息查询系统。可以创建下面两个表来分别表示书和出版社。
面面俱到----重载 (转)
面面俱到----重载 (转)[@more@]面面俱到XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" /> ----重载 作者:HolyFire 面面俱到说的是一件事考虑到了很多方面。有的时候我们的一句话适用于很多方面,而这些方面有些类似。比方说加法,加法可以用于,整数和有理数。在C++里可以用两个函数来实现这个目的。 int intadd( int v1 , int v2 ) { return v1+v2; } float floatadd( float v1 , float v2 ) { return v1+v2; } 使用的方式是这样的 int ia = 1 , ib = 2
软件技术的森林时代 (转)
软件技术的森林时代 (转)[@more@]软件技术的森林时代(第一部分) (本文源于Holyfire等高手的热情讨论) 1.从oop谈起 面向过程的代码基本上是机器的顺序执行的指令,与“程序”二字很贴切。而面向对象的代码更适合构造软机器(软机器生存在硬机器或其他的软机器之上),很多人将软机器称为“平台”,其实我觉的更像树,因此在当今所有操作系统中都可以看到OOP的身影,C++之父曾断言Java不是语言是平台,其实本质上说C++也是平台。 从本质上说,枝叶、果实的生长将导致树本身的成长,这是树本身的希望(虽然可能非种树者的
Q B a s i c N i b b l e s (转)
Q B a s i c N i b b l e s (转)[@more@]'' Q B a s i c N i b b l e s'' Copyright (C) microsoft Corporation 1990'' Nibbles is a game for one or two players. Navigate your snakes' around the game board trying to eat up numbers while avoiding' running into walls or other snakes. The more numbers you eat up,' the more points you gain and the longer your snake becomes.'' To run this game, press Shift+F5.'' To exit QBasic, press Alt, F, X.'' To get help on a BASIC keyword,
乱码大全(二) (转)
乱码大全(二) (转)[@more@] 2. XxencodeXML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" /> 提到Uuencode不可能不提Xxencode, Xxencode的编码算法和 Uuencode基本相同,但是使用的是不同的字符集。XxEncode编码使用的字符是: “+-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz”与 Uuencode 相比,它的特殊字符更少。很多支持 Uuencode 编解码的工具都同时支持 Xxencode。 这种编码的特征是:每一行开头用“h”标志。下面是Xxencode的一个例子: begin 644
乱码算法大全(一)Uuencode (转)
乱码算法大全(一)Uuencode (转)[@more@] 相信上过网的朋友们都遇见过“乱码”,也就是在浏览网页或看EMail时出现的不能辨认的字符。以前也有许多的文章介绍过“乱码”,不过他们的文章只是讲怎样辨别和怎样用工具解码,并没有详细介绍各种编码的算法的实现,本文将对互联网上最常用的几种编码的编码和解码算法作以详细的阐述。希望对想了解“乱码”算法或想在自己程序中实现这些功能朋友们有一些参考价值。本文的源程序用C语言写成,形式为函数,可直接使用。XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Of
乱码大全(三) (转)
乱码大全(三) (转)[@more@] Base64XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" /> Base64和下面将要介绍的Quoted-Printable都属于MIME(多部分( multi-part)、多媒体电子邮件和 WWW 超文本的一种编码标准,用于传送诸如图形、声音和传真等非文本数据)。MIME定义在rfc1341中。 Base64是现今在互联网上应用最多的一种编码,几乎所有的电子邮件软件头把它作为默认的二进制编码,它已经成了现今电子邮件编码的代名词。 下面是Base64的一个例子,从例子中,您也可以看到Bas
芥子须弥----封装 (转)
芥子须弥----封装 (转)[@more@] 芥子须弥 ----封装XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" /> 作者:HolyFire 说起面向对象oop首先就有人大喊着封装 究竟封装是什么呢,为什么要封装? 是的,本来并没有封装,封装是由于人们的需要才产生的,就如同计算机来到人间,编程语言进入你的大脑,自然而然。 在没有封装的时候,人们一样在编程,并没有因为封装的出现使得猿猴变成了人,所以封装没有那么神秘,可怕。 想象一下,我们生活里也有很多封装:食品被放在袋子里,用来防止混
《PMT评论》总第十三期目录 (转)
《PMT评论》总第十三期目录 (转)[@more@] 《PMT评论》总第十三期发布了。 目录如下: 1. 软件设计专栏 生活中的设计模式实例(4 & 5) 2. 流程改进专栏 一起学CMM(12) 成熟度级别之间 3. 软件测试XP中测试的三大不足与对策gnu测试框架 - DejaGNU介绍 4.项目管理专栏初为项目经理(中) 5. 交流园地我看工作效率 我说“我看工作效率”质量管理基础知识讲座(五) 全面质量管理概述(下) ========== 关心软件质量,关注《PMT评论》。
堆:欢乐和痛苦 (转)
堆:欢乐和痛苦 (转)[@more@] 堆:欢乐和痛苦 Murali R. Krishnanmicrosoft Corporation 1999 年 2 月 摘要: 讨论常见的堆性能问题以及如何防范它们。(共 9 页) 前言 您是否是动态分配的 C/C++ 对象忠实且幸运的用户?您是否在模块间的往返通信中频繁地使用了“自动化”?您的程序是否因堆分配而运行起来很慢?不仅仅您遇到这样的问题。几乎所有项目迟早都会遇到堆问题。大家都想说,“我的代码真正好,只是堆太慢”。那只是部分正确。更深入理解堆及其用法、以及会发生什么问题,是很有用的。 什么是堆? (如果
用VB计算PI精确数值到30000位的程序代码。 (转)
用VB计算PI精确数值到30000位的程序代码。 (转)[@more@] 代碼如下﹕另存為窗口﹐先申明不是我寫的VERSION 5.00Begin VB.FoRM Form1 BackColor = &H80000016& BorderStyle = 1 'Fixed Single Caption = "Pi Calculator" ClientHeight = 5580 ClientLeft = 45 ClientTop = 330 ClientWidth = 7
iczelion Vxd cntut8 (转)
iczelion Vxd cntut8 (转)[@more@] 客户寄存器结构 我们将学习本教程中另外一个重要的结构,叫客户寄存器结构。在本文中,V86指虚拟8086模式。在这里下载DOWNLOAD/new/asm/vxd/files/vxdbeep.zip">例子程序 理论 VxDs与正常的win32/win16/DOS应用程序有很大不同。大多数情况下,当其他应用程序正常工作时,它们是休眠的。它们象一个监管者一样工作,其作用是监视ring-3应用程序并在其出错时改正它们。下面是其工作时的典型的情况: 1、中断发生时2、VMM得到控制权时 3、VMM存贮寄存器组的值时 4、VMM服务于中断或调用其
iczelion Vxd cntut6 (转)
iczelion Vxd cntut6 (转)[@more@]DeviceIoControl接口XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" /> 在这一节中我们将要关于学习动态VXD,特别是如何创建,加载和使用。 点击DOWNLOAD/new/asm/vxd/files/shellmsg.zip">这里下载例子 VxD接口 VxD总共提供了4种接口。 l VxD services VxD服务 l V86 Interface V86接口 l Protected-mode (PM) Interface 保护模式接口 l win32 DeviceIoControl Interface Win32设备输入输出控制接口 我们已经知
iczelion Vxd cntut7 (转)
iczelion Vxd cntut7 (转)[@more@]请求执行时间段与shell函数 下载DOWNLOAD/new/asm/vxd/files/vxdexecute.zip">例子程序 理论: 请求执行时间段通常被简称为"appy time"。是指当系统VM稳定到充许VxDs和ring-3级别的应用软件(特别是16-bit的应用软件)交互时的时间段。例如,在一个特定时间段,VxDs能加载并调用在16-bit Dlls中的函数。这个appy time在windows 3.x中是无效的。在Windows3.x,一个VxD能包含在16-bit DLLs中的任意函数的地址,并模拟一个远调用到这个地址。然而,因为造成了VMM重入,这个操作将中断所有正
iczelion Vxd cntut4 (转)
iczelion Vxd cntut4 (转)[@more@] VxD 程序设计入门 We 我们在上一节学会了如何编写一个什么事也不做的VxD程序。在这一节里,我们要给它增加处理控制消息的功能。 VxD的初始化和结束 VxD程序分为两种:静态的和动态的。每种的加载方法都不同,接受到的初始化和结束的控制消息也不同。 静态VxD: 下列情况下,VMM加载一个静态VxD: 一个实模式常驻程序通过调用中断2FH,1605H,来调用此VxD。 此VxD在注册表中的如下位置有定义: HKEY_LOCAL_MACHINESystemCurrentControlSetServicesVxDkeyStaticVxD=VxD带路径文件名 此V