行内技术
用API制作图形窗体
程序说明:使用GetBitmapBits函数,将图片的颜色信息读到一个数组中,然后就对数组的数据进行扫描,使用CreateRectRgn函数生成每一个有用点的图窗体,再使用CombineRgn函数对有用的图象合并,组成所要的窗体,最后使用SetWindowRgn来设定窗体程序代码:Module1PublicDeclareFunctionGetObjectAPILib"gdi32"Alias"GetObjectA"(ByValhObjectAsLong,ByValnCountAsLong,lpObjectAsAny)AsLong...
2013-3-5239
自动开始上次关机时关闭的应用
两点关键:1检测是Windows关闭引起的QueryUnload事件。2改写Software\Microsoft\Windows\CurrentVersion\RunOnce声明:DeclareFunctionRegCloseKeyLib"advapi32.dll"Alias"RegCloseKey"(ByValhKeyAsLong)AsLongDeclareFunctionRegCreateKeyLib"advapi32.dll"Alias"RegCreateKeyA"(ByValhKeyAs...
2013-3-5466
自己编程模拟MouseEnter,MouseExit事件
很多第三方的控件都提供的MouseEnter和MouseExit事件来补充MouseMove事件的不足(MouseMove事件不能有效的捕获鼠标是否已在控件外),但是这些控件或要注册,或集合了其他实际没有什么作用控件,另外在程序中加入太多的控件也会影响程序的性能,利用Windows的API函数,我们可以在MouseMove中模拟MouseEnter和MouseExit,虽然我提供的源代码中没有真正的这两个事件,但的确提供了这两个事件所具备的功能。好了!让我们实现吧。首先加载一个模块,在模块中声明以下两个API函数:PublicDeclareFunctionSetCaptureLi...
2013-3-5363
做成一个时间限制的测试版
可用注册表简单地保存已用的天数或次数'次数限制(如30次)如下:PrivateSubForm_Load()DimRemainDayAsLongRemainDay=GetSetting("MyApp","set","times",0)IfRemainDay=30ThenMsgBox"试用次数已满,请……"UnloadMeEndIfMsgBox"现在剩下:"&30-RemainDay&"试用次数,好好珍惜!"RemainDay=Rema...
2013-3-5478
java程序转成exe文件
几种java转exe的工具,进行一下比较,谈谈自己的看法:1.从www.towerj.com获得一个TowerJ编译器,该编译器可以将你的CLASS文件编译成EXE文件。注:现在已经找不到,不提供了,被人家收购了。2.利用微软的SDK-Java4.0所提供的jexegen.exe创建EXE文件,这个软件可以从微软的网站免费下载,地址如下:http://www.microsoft.com/java/download/dl_sdk40.htmjexegen的语法如下:jexegen/OUT:exe_file_name/MA...
2013-3-5359
DELPHI的通配符比较
作者:李均宇email:e271828@163.net我以前以为DELPHI中没有通配符的现成函数,后来找到了MatchesMask()。以前在未找到这个函数时我曾经在处于自由状态下尚有心情时便自已动手来作一个自定义的函数来实现这个功能。...
2013-3-5322
利用XML数据绑定实现页面无刷新的数据浏览
利用XML的数据绑定和浏览器的自动显示功能可以实现一个无刷新的数据浏览,即前后翻页、页码定位的功能,本人实现时采用JSP+XML的方式。具体的效果可以参看:http://guide.pconline.com.cn/comment/topic.jsp?id=10178相关内容:  通过数据绑定,可以把一个XML文档链接到一个HTML页,然后绑定标准的HTML元素,例如SPAN、TABLE,到独立的XML元素。HTML元素会自动显示所绑定的XML元素的内容。  使用数据绑定的两个主要步骤:  1)链接XML文档...
2013-3-5298
在C++ Builder6上使用Boost正则表达式库
正则表达式是一种模式匹配形式,它通常用在处理的文本程序中。比如我们经常使用的grep工具,还是perl语言都使用了正则表达式。传统的C++处理正则表达式是非常麻烦的,这也成为很多其他语言爱好者的笑柄,现在情况不一样了,因为有了boost。Boost是一个基于Template的开发源代码库,在这个库中有很多子库用来高效处理各方面的问题,比如字符串拆分,格式化,线程等等,Boost对于每一个C++爱好者都是应该了解的,对于C++Builder用户如果能在熟练使用VCL的情况下再熟练使用Boost,我想一定如虎添翼。...
2013-3-5424
QQ尾巴病毒的发送原理分析
近来QQ尾巴病毒大肆发作,我也是经常收到网友们发到来的带尾巴的消息,于是,好奇心一来,我也来研究研究此病毒的发作原理。首先,我不知道QQ尾巴病毒真正的原理,我只是猜测并且自己写了一个类似的程序来实现它。QQ尾巴的发作情况:当用户打开一个QQ消息发送窗口时,病毒会自动往消息文本框里输入文本,然后不等用户反应过来就发出去了。程序实现:首先要找到QQ消息发送窗口的句柄以及消息文本框与“发送”按钮的窗口句柄。一、如何找...
2013-3-5319
利用语音Modem实现电话点播和留言功能
有一段时间没有更新网站了,最近挺忙的,所以写书的进度慢了一些,两周只写了10多页设计模式相关的内容。希望在接下来的几周能加快进度,赶紧弄完。另外前两天,我被评为了BorlandDelphi产品专家,加上这两天北京的非典形势也缓和多了,很高兴。为此公开很久以前写的一篇文章,与大家分享一下我的快乐。偶然的起因记得还是在去年情人节的时候,当时一直在为给女朋友送什么礼物而发愁,觉得送花实在没有什么创意,可又不知道什么样的礼物即能给她一个惊喜同事又不昂贵。这时,我的一个好朋友出了一个主意,说不如电话点歌吧,还比较特别。可是如果是通过电台点歌后,再告诉她收听的话就起不到意外的效果了。就在没有...
2013-3-5353
在工作组中寻找所有的计算机
摘 要:在工作组中寻找所有的计算机varComputer:Array[1..500]ofString[25];ComputerCount:Integer;procedureFindAllComputers(Workgroup:String);VarEnumHandle:THandle;WorkgroupRS:TNetResource;Buf:Array[1..500]ofTNetResource;BufSize:Integer;Entries:Integer;Result:Integer;beginComputerCount:=0;Workgroup...
2013-3-5454
Toolbar制作菜单条过程详解
现在许多用户界面都使用工具栏制作菜单条,小弟最近对此感兴趣,便从网上求助,可是得到的帮助大多是BCGControlBar的源代码或者是SizableRebar的源代码,对于只希望是自己的界面具有该功能的朋友来说,这也许是不错的选择,只要看一下demo,然后直接调用别人的类库就可以了,但对于我等对此话题感兴趣,希望弄懂其来龙去脉的读者来说,直接看这些没有详细解释的源代码,要从中弄出个所以然来,实不是件容易的是,至少对于像我这样的菜鸟来说是这样的,本文出于此种原因,希望对还在寻求此帮助的读者能提供一些帮助。下面我们边看边侃:在接收到toolbarbutton按下消息时,我们一般使用Tr...
2013-3-5434
Java应用程序中加载位图文件的逐步指南
作者:JeffWest和JohnD.Mitchell摘要目前,标准的getImage()方法仅支持GIF和JPEG图像。尽管存在用于读取PNG(可移植网络图形)格式的Java例程,但我们还没听说过有用于读取MicrosoftWindows位图图像的阅读程序。JeffWest撰写的这篇技巧提供了加载Windows位图图像的代码。Java的当前发行版并不正式支持在Java应用程序中读取MicrosoftWindows位图文件。但别担心,我们有办法解决这个问题!这篇技巧将说明如何完成这一任务--我们首先说明读取MicrosoftWindows文件格式的基本步骤。WindowsDIB(...
2013-3-5406
进程死亡的自动复活
前两天看了Delphi版面精华区中的“进程死亡的自动复活“一文,觉得作者的思路很不错,利用api来监视进程的活动,当被销毁时就自动再创建进程。仔细推敲之后,发觉其实用vb也是可以做到的。于是花了半天的时间写了以下的程序,实现了使用WaitForSingleObjectAPI来监视被创建的进程的活动,一旦返回除timeout之外的消息就自动创建新的进程。以下为其实现代码。在win2000server+vb6.0下通过。OptionExplicitPrivateRunFile$PrivateConstNORMA...
2013-3-5397
用DELPHI开发自动化服务器
自动化是从一个应用程序内部自动控制另一个应用程序的方法,例如下面的代码.procedureCreateNewWord;varWordObj:Variant;beginWordObj:=CreateOleObject('Word.Basic');{此函数声明于ComObj单元}WordObj.AppShow;WordObj.FileNew;end;这段代码将会打开WORD,并自动建立一个新的文档(当然前提是你的机子上安装了WORD),这看来很有趣,也是一...
2013-3-5360
利用HOOK拦截封包原理
截获API是个很有用的东西,比如你想分析一下别人的程序是怎样工作的。这里我介绍一下一种我自己试验通过的方法。首先,我们必须设法把自己的代码放到目标程序的进程空间里去。WindowsHook可以帮我们实现这一点。SetWindowsHookEx的声明如下:HHOOKSetWindowsHookEx(intidHook,//hooktypeHOOKPROClpfn,//hookprocedureHINSTANCEhMod,//handletoapplicationinstanceDWORDdwThreadId//threadidentifier);具体的参数含义可以翻阅msd...
2013-3-5344
消息钩子函数入门篇
Windows系统是建立在事件驱动的机制上的,说穿了就是整个系统都是通过消息的传递来实现的。而钩子是Windows系统中非常重要的系统接口,用它可以截获并处理送给其他应用程序的消息,来完成普通应用程序难以实现的功能。钩子可以监视系统或进程中的各种事件消息,截获发往目标窗口的消息并进行处理。这样,我们就可以在系统中安装自定义的钩子,监视系统中特定事件的发生,完成特定的功能,比如截获键盘、鼠标的输入,屏幕取词,日志监视等等。可见,利用钩子可以实现许多特殊而有用的功能。因此,对于高级编程人员来说,掌握钩子的编程方法是很有必要的。钩子的类型  一.按事件分类,有如下的几种常用类型  (1...
2013-3-5451
用VB打开任意盘(硬盘/U盘/光盘)的文件
在程序打包移植的时候,需要用到光盘/U盘。在不知道机子上的光盘的盘符是多少,或不知道盘符的类别和盘符的总数的话。.........可以用如下方法来判断.........要用到的API描述:返回机子上的所有盘符GetLogicalDriveStringsVB声明DeclareFunctionGetLogicalDriveStringsLib"kernel32"Alias"GetLogicalDriveStringsA"(ByValnBuffer...
2013-3-5334
网络游戏外挂编写初级教程
做自己喜欢的!------明天你来自己做外挂随着网络游戏的日益火爆,很多玩家都投身到游戏中。目前很多玩家都依赖于一些游戏的外挂程序来进行游戏。那么做一个游戏的外挂程序是否是一件很困难的事呢?回答是"否",诚然编写一些程序是需要一些基本知识的,所以我们想以最简单的语言来给你讲授编写外挂程序的一些技巧,一些方法,并提供给你一些基本的辅助工具,即使你是一个菜鸟,看了我们的教程,并技巧地使用我们提供给你的工具,你完全能够编写出一个完全属于你自己的外挂。在本教程内,我们提供了金庸群侠传,以及网络三国这两个游戏的修改实际例子,因为这两款游戏都是对封包进行过加密运算的,如果你对这...
2013-3-5351
使用Sniffer截获流经本机网卡的IP数据包
Win2K下的Sniffer源代码。[代码性质]VC完整应用程序代码[代码作者]zw[文件大小]130K[更新日期]2002-11-2619:47:00[下载次数]6015http://www.vckbase.com/code/downcode.asp?id=1692IP包监听程序(For9x)源代码详细信息<局域网>IP包监听程序源代码(包含VXD源代码)[代码性质]VC完整应用程序代码[代码作者]HiHint[文件大小]158K[更新日期]2002-3-308:48:00[下载次数]9047...
2013-3-5319