返回首页

原创软件 浪迹天涯 动漫动漫 大浪淘沙 与我联系

有了思想却不去实现,最多不过从咸鱼变成活鱼,说到底也只是一条鱼

通用说明

  1. 除“友情推荐”区外,本栏目所有软件均为我的原创作品,在不更改软件包任何信息的条件下,各位可以无偿用于非商业目的,但是禁止盗链。如果您希望用于商业目的,或在您的网站上进行转载,请先与我联系,取得我的书面授权,否则保留追究一切责任的权利。如果您喜欢某个软件,请与您的朋友一起分享;如果您有什么心得或意见,请与我分享
  2. “友情推荐”区存放的是我的那些懒得自己建网站的朋友们的原创软件,版权归原作者所有。
  3. 公开源代码的项目多半都是我以前做练习时写的,略显粗糙,但是目的明确,结构也比较简单,希望能够对初学者有所帮助。不过请不要用这些源代码来衡量我现在的编码水平^_^。
  

按字母顺序排列(注“源”者提供源代码)

AnimateIcon(源) Avi2Jpeg BatchMp3Player BatchUnRar BitrateCurve
Chater (源) Chkcd ChkLine32(源) ComicEnhancerPro ComicsViewer
CoolMsg CrazyReader CtrlN CueCode DACapturer
DAO DAO_2000 DBStruc DBStruc_ADO DjVuToy
DOSWin (源) DpiCalc eBookRegClean FileCleaner FileUpdate
FindDupFile FindStr FineReader FreePic2Pdf FtpList
GBCode/GBKCode GetScrPswrd HtmlOrder HugeCHM IdxSubOcr
IECracker ImgViewer (源) KillEBook MediaCam miniKillEBook
Mpeg2Jpeg MyReader NoteIcon PageByPage Pdg2Pic
PdgCntEditor PdgRenamer PdgThumbViewer PopCD (源) PrintLayout
ReadHCpp RealHunter RenameIt RPlayTest(源) Scenery (源)
ShutDown SOFTMNG SpecEffect Swf2Jpg Text2Jpeg
TextForever TiffToy ToFolder TOOLBAR TrayApp
UnEBook UpdateSite VBInter WinCam32 WINCAMA
WMPCam Zip2Dir
  

按应用分类

动漫DIY系列 桌面工具系列 网络工具系列
编程工具系列 读书工具系列 磁盘文件系列
数码影音系列
  

动漫DIY系列

漫画三剑客

ComicsViewer 版本:3.06 评价:★★★★★
文件: 中文简体Unicode版  中文简体版说明
English Unicode版(其中的说明还是中文的)
系列教程
键盘定义文件
:将此文件解压缩到ComicsViewer 1.16以上版本所在文件夹,重起ComicsViewer,即可像ACDSee一样用PgDn、PgUp键翻页,用Home键翻到第一页,用End键翻到最后一页。
1.16版“旋转显示”功能演示:看漫画的时候觉得屏幕太小吗?其实可以立起来看。坐着看漫画太累吗?其实可以躺下来看
1.17版注释功能演示(赤松健短篇漫画《永远的圣诞老人》):中文简体版 中文繁体版 (声明:1、此下载仅用于演示ComiceViewer的注释功能在漫画翻译方面的作用,请勿用于商业目的。2、这部漫画的图像、文字都是我从网上下载的,但是由于时间比较久,我已经忘记是从哪里下载的了,在此对相关工作者表示衷心的感谢!如果您认为我侵犯了您的利益,请来信说明并提出相关证据,确认无误后我将取消下载。)
功能: 专为看漫画而开发的图像浏览器,内置许多漫画专用功能。新手可以使用书签、现场保护、单键浏览等功能获得比ACDSee更多的方便性;老手可以使用ACDSee所没有的图像增强显示技术,获得最完美的显示效果。目前支持JPG、UFO、GIF、PNG、BMP、TIFF、ton、WMP、JP2、J2K、PDG、WEBP格式,可以直接从ZIP(cbz)、RAR(cbr)文件中读取图像文件而不需要生成临时文件。详见说明文件
动机: ComicViewer其实是在我对ComicsEnhancer Pro进行反思的结果上提出来的:ComicsEnhancer Pro对图像的增强是永久性的和不可逆的,但图像增强的效果又取决于当时的显示器设置,往往我在家里调好的图像拿到单位一显示就白得刺眼,而在单位调好的图像拿到家里一显示背景又出现各种杂波,害我只好每次先将漫画解压或拷贝到某个目录,然后用ComicsEnhancer Pro进行增强,再用ACDSee看。自从ComicViewer出来以后,我就再也没有用ComicsEnhancer Pro处理过任何漫画,最多用它成批缩小扫描出来的照片,或者用“减色”功能,在对画面大小、质量不造成明显影响的情况下给漫画文件减肥。
ComicEnhancer Pro 版本:v4.06 评价:★★★★
文件: 中文简体Unciode版  中文简体版说明  English Unicode版(其中说明文件还是中文版)
系列教程
功能: 批量图像增强工具,能够批量调节指定目录下所有图像文件的曲线、亮度、对比度、高亮度等,将扫得很烂的电子版漫画往完美版的方向转化(如果你真的会用的话),使之适合于收藏。输入支持JPG、UFO、GIF、PNG、BMP、TIFF、WMP、JP2、J2K、WEBP格式,输出支持JPG、PNG、BMP、TIFF、JP2。详见说明文件系列教程
动机: 多年来我一直是热心的漫画读者,但现在漫画书的购置成本和储藏成本越来越高,远远超出了我的心理承受能力,害得我只敢收集电子版的漫画。但是由于种种原因,扫描的漫画常常因为纸张较薄、纸质较差而带有斑点、纸纹、背透(纸张背面的图像透过来),或者是因为扫描参数设置不当而造成图像灰暗、模糊,看起来实在是太累。其实这些缺点均可通过图像处理技术进行修正,比如要消除最常见的背透现象,只要增加图像亮度就可以了(一般还需同步增加对比度)。但是一张一张地去编辑图像文件又太累:我曾经花了两天时间一页一页地校正我喜欢的一部漫画,校正完后我的眼睛看什么都带灰影,最终还是下定决心编了这个程序。
Zip2Dir 版本:2.04 评价:★★★★
文件: 中文简体Unicode版  中文简体版说明  English Unicode版  English版说明
功能: 电子版漫画整理工具,能够批量压缩/解压/测试/注释ZIP文件(包括cbz、uvz),支持右健菜单,具有密码记忆功能。
动机: 在整理收藏的电子版漫画的时候,希望能够有这样的软件:
1、能够自动将指定目录下的所有ZIP、EXE文件全部展开,并可以决定是否按照文件名创建子目录,及是否保持原ZIP包中的目录结构。
2、能够自动测试指定目录下的所有ZIP、EXE文件是否完好。这一点对常从网上下载的人具有重要意义。
3、解压、测试时能够记忆密码,相同的密码输一次就够了。
4、能够一次将指定目录下的所有子目录全部打包成ZIP文件,文件名就用目录名,并且可以指定密码和注释。
5、可以批量设置/清除指定目录及其子目录中所有ZIP文件的注释。
在这样的需求越来越强烈的情况下,产生了这个工具。
  

动画截图工具

山重水复疑无路 柳暗花明又一村--“动画截图工具”系列开发纪实(Version 1.01)
玉不琢,不成器--动画截图FAQ(Version 1.01)
Avi2Jpeg 版本:1.04 评价:★★★★
文件: 中文简体版  中文简体版说明    中文繁体版(感谢盗者的辛勤劳动)
要求: 本程序只能在支持MMX指令集的机器上运行。
功能: 1、专门用来截取AVI(包括标准非压缩AVI,及用DivX、XDiv压缩的AVI)中画面的工具,并可以用内嵌的图像平均、高精度放大工具获得大尺寸的画面。截图结果见动漫动漫区中的图片。
2、可以显示AVI文件的码率曲线,作为洗牌的参考。
Mpeg2Jpeg 版本:1.41 评价:★★★
文件: 中文简体版  中文简体版说明  中文繁体版(感谢盗者的辛勤劳动)
要求: 本程序只能在支持MMX指令集的机器上运行。
功能: 1. 按照指定的范围和频率,将MPEG文件(VCD)中的图像帧保存为BMP或JPG,用于制作自己的电影版连环画。提供批量放大功能。
2. 采用“图像平均”技术,对从VCD中抽取的静态画面进行补偿,用于制作壁纸。平时制作壁纸多从画册、封面、卡片等来源扫描,但这些来源毕竟有限,而VCD的资源要更丰富得多。不过由于MPEG本身是有损压缩算法,因此用常规方法从VCD上截取下来的画面画质都比较差,本软件的部分功能就是专门为解决这些问题而设计的,详见说明文件
本程序的运行结果见动漫动漫区中的图片。
WMPCam 版本:1.01 评价:★★
文件: 中文简体版  中文简体版说明
要求: 本程序只能在支持MMX指令集的机器上运行。运行前请先安装Windows Media Player及其插件,并保证它们工作正常。
功能: 采用截屏技术,对Windows Media Player控件的播放窗口取快照,并可以用内嵌的图像平均、高精度放大工具获得大尺寸的画面。详见说明文件。
本程序的运行结果见动漫动漫区中的图片。
MediaCam 版本:0.02beta 评价:★★
文件: 中文简体版  中文简体版说明  中文繁体版(感谢盗者的辛勤劳动)
要求: 本程序只能在支持MMX指令集的机器上运行,运行前请先安装RealPlayer、Windows Media Player及其插件,并保证它们工作正常。
功能: 采用RealPlayer和Windows Media Player提供的控件,因此只要是这两个软件能够播放的媒体文件它都能抓出图来,包括RM、AVI、ASF、DVD等,当然它们放不了的也就没办法了。详见说明文件
本程序的运行结果见动漫动漫区中的图片。
  

其它

Text2Jpeg 更新: 评价:
文件:
功能: 逐行读取指定的文本文件,将文本的每一行按指定的画面格式存为一个JPEG文件。
RenameIt 版本:1.39 评价:★★★
文件: 中文简体版  中文简体版说明 
中文繁体版v1.37(感谢盜者汉化)
功能: 批量更名、拷贝工具,用于整理下载下来的漫画。
ShutDown 版本:1.08 评价:★★
文件: 中文简体版(适应于中文、英文Windows 2000、XP) 中文简体版说明
功能: 在用VirtualDub压制DVDrip的时候,经常是睡觉前开始压,然后压到什么时候算什么时候。由于VirtualDub没有自动关机功能,因此在压缩完成后如果不能及时关机,将白白付出电费和机器磨损费。
为此,开发了这个小工具:监视CPU利用率,连续3分钟低于50%则自动关机;或监视VirtualDub窗口标题条的变化,当窗口标题条发生变化时,自动关机。后来也用来监视大邮件接收、光盘拷贝等需要漫长等待的过程。
ImgViewer 版本:1.00 评价:
文件: 源代码(for VC++ 6,内附中、英文说明)
《基于IImgCtx的图像解码器》(在CSDN文档中心链接
"An Image Decoder Based on IImgCtx" (在codeproject上的链接)
功能: 上面的两篇文章,分别用中、英文说明如何用 IE 提供的 IImgCtx 接口,实现图像解码,支持的格式包括 BMP、JPG、WMF、ICO、GIF、PNG、TIFF。
源代码是一个简单的图像浏览器例子,演示如何用 IImgCtx 接口解码、显示图像,及如何实现简单的翻页。其中翻页部分的源代码直接来自ComicsViewer,不过做了简化,如果各位有兴趣,可以试试看在此基础上,能不能做出自己的功能更丰富的图像浏览器。
  

桌面工具系列

TrayApp 版本:2.06 评价:★★★★★
文件: English Unicode版  中文简体版说明
功能: 用多级菜单实现 IE 4+ 所带的 Quick Launch 功能,而且一次可以执行一组程序。
动机: 初识 Microsoft Windows 98 时,我感到最方便的地方就是 IE 4 所带的 Quick Launch 功能。但在用了一段时间之后,我的 Quick Launch 条上的图标越来越多,任务条都快被挤得没地方了;而且 Quick Launch 一次只能执行一个程序。因此我决定开发新的 Quick Launch 程序:在屏幕右下角 tray 区域增加一个图标(这就是名字中 Tray 一词的由来),用鼠标右键单击该图标时弹出一个小方块,用户可以将文件或目录拖动到这个小方块上,就象拖动到 IE 的 Quick Launch 条上一样;下次用户用鼠标左键单击 tray 图标时,弹出一个带小图标的菜单,包含用户拖过来的所有文件和目录(目录用多级菜单表示),用户选择菜单就可以打开或执行文件,就象在 IE 的 Quick launch 条上点击图标一样,按住 Ctrl 键点击菜单项则执行同组的所有菜单。由于 TrayApp 用菜单对快捷方式进行管理,不仅节省任务条上的空间,而且便于对功能进行分组,并按组执行。
从v2.00版开始,TrayApp加入热键(hotkey)功能,可以通过热键快速启动运用程序。
NoteIcon 版本:2.00 评价:★★★★★
文件: Unicode版(适用于Windows NT/2000/XP/2003):
中文简体版
中文简体版说明
English版(其中使用说明还是中文的)
ANSI版(适用于Windows 95/98/Me):
中文繁体版1.15(感谢Mike的辛勤工作)
功能: 方便笔记本,另附锁屏、激活/禁止屏保、关闭/重启计算机、万年历等功能。
动机: 在编程、上网时经常需要保存一些临时性的东西,如果用Windows提供的Notepad来保存,则启动、保存、文件管理都是问题,所以想做一个类似随意贴的东西,我只管往上贴、往下拷和删除,而不用操心怎么存。后来陆续根据需要添加了一些功能。
最近我自己的Windows XP总是在关闭、重启的时候停止在“保存设置”这一步,害我总要去按reset,一气之下增加了关闭/重启计算机功能,使用效果还不错。还有一个更厉害的“立即”关闭/重启功能,只能在NT/2k/XP下用,使用前请先确认所有窗口已经关闭。
说明: 这实际上是以前我在16位Windows下编制的一个程序(Toolbar)中的一项功能,不过有了一些新的发展,如drag-drop(从Word、VC等编辑器中抓来的是文本;从Explore中抓来的是文件路径;从IE中抓来的是文字、URL或文字加URL,在本窗口中则是象Word、VC一样通过drag-drop来移动、复制)、粘贴从资源管理器中拷贝的文件路径、自动启动、Win 9x下的锁屏、关闭/重启计算机等功能。
PopCD 版本:1.32 评价:★★★
文件: English版 源代码(VC++ 6.0)
功能: 用鼠标打开/关闭CD-ROM的工具。
动机: 由于写字台空间有限,我自己的PC被迫放到桌旁的地上,开、关CD-ROM很不方便,所以就编了这么一个东西。后来考虑到经常在关机时将光盘忘记在光驱里,因此又加了一个“退出Windows时自动弹出CD”功能。
说明: 源代码中不仅演示了对光驱的操作,还演示了动态菜单、tray app的实现。
ToFolder(原名ToDir) 更新:2011.11.30 评价:★★★
文件: English版(内附中文简体版说明文件,含x86、x64版)
功能: 资源管理器右键菜单扩展,快速打开DOS窗口并切换至指定文件夹。
动机: Windows所带的“资源管理器”以“图形用户界面(GUI)”的形式提供了很多文件管理功能,但是有些功能感觉还是用DOS命令更方便,比如与
      ren *.gb *.txt
相对应的功能至今也没有加入“资源管理器”中,而命令
      del *.bak
也要比在“资源管理器”中先查找再删除快得多。但是在Windows环境中打开DOS窗口一般又只能进入某个固定的缺省文件夹,要切换到指定的文件夹也不是一件容易的事。因此,我开发了ToFolder程序,它其实是一个Windows namespace extension,也就是说它能象Winzip、ACDSee等程序一样,当用户在“资源管理器”窗口中单击鼠标右键时,能在弹出的快捷菜单中增加一项“Goto This Folder”,如果用户选择了该菜单项,则弹出一个DOS窗口,并将该DOS窗口中的工作文件夹切换到用户在“资源管理器”中所选的文件夹。
说明: 用户完成所需的DOS操作后,可以用鼠标直接关闭DOS窗口(95/98/ME不行),但最好是在命令行上敲入命令EXIT,象个文明人一样地离开DOS环境。
GetScrPswrd 更新: 评价:
文件: ZIP
功能: 游戏之作:显示本机Screen Saver的口令。
WINCAMA 更新: 评价:
文件: (取消下载)
功能: 16位屏幕图形、文本捕捉器。
动机: 在我第一次写软件开发文档的时候,用Print Screen键和PaintBrush捕捉界面图形把我累得咬牙切齿,赌咒发誓一定要开发一个屏幕捕捉器,结果一个下午就鼓捣出了这个程序的最初版本。
后来这个程序又成了我研究跨平台编程的小白鼠,费尽心机终于找到了在Windows 3.x、Windows 95/98、Windows NT下通用的鼠标捕捉、窗口捕捉技术。
说明: 在NT下,对顶层(topmost)窗口及某些窗口的矩形区的捕捉有点小问题。
WinCam32 版本:3.00 评价:★★★
文件: English Unicode版  中文简体版说明
功能: WINCAMA的32位版,除将屏幕矩形区图形或文字拷贝到剪贴板外,还支持自动存盘(存为PNG或BMP文件)、捕捉动态图形(结果直接存为AVI文件)。功能实在太多,连我自己都要点开Option菜单才知道怎么用。抓取文字时可以抓取对话框中被*号遮住的密码,在Win 2000和XP下也能抓,不过还不能抓网页中的密码。抓静态图时,可以指定是否连光标一起抓(缺省情况下抓出来的图中没有光标图形)。
TOOLBAR 更新: 评价:
文件: (取消下载)
功能: 16位Windows下的必备工具,比Microsoft Office Toolbar更强悍的AppBar程序。
动机: 用过16位Windows的人想必都还记得想运行一个程序的痛苦:需要将当前窗口全部缩小,直至露出ProgMngr的窗口,然后点开组窗口,再双击程序图标。安装“中文之星”或Microsoft Office后,虽然有能够定制的AppBar,但是用过的才知道有多难用。因此我开发了自己的AppBar,并增加了记事本、快速退出/重启Window、锁屏等功能。
说明: 在32位Windows下,该程序的功能分解、发展成了NoteIcon和TrayApp两个程序。其实由此即可想象该程序有多好用。
  

网络工具系列

CoolMsg 版本:1.62 评价:★★★★
文件: English版(内附GB版说明文件)
功能: LAN下的报文收、发程序,兼容Win 9x下的WinPop和NT/2000下的NET SEND。在关闭了Alert和Messenger服务的、处于同一个LAN内的两台Windows 2000/XP机器之间,也可以通过它进行网上聊天。
动机: 我被微软的报文程序(Winpopup和Net Send)搞得心烦透顶:
1. 它们均不支持多目标发送,需要给几个人(不是整个组)发送相同的报文时只好反复copy/paste。
2. 不能通过GUI选取发送目标,唯有将希望寄托在自己的打字功力上。
3. 不能Copy收到的报文,因此也就不能通过它们发送源代码、URL、……。
4. 不能自动应答,往往发出去就是石沉大海,只能PnP(Pop and Pray)。
5. ……
6. ……
7. ……
说明: 经常有主管向我抱怨说此程序严重影响员工的工作效率,请慎用。
FtpList 版本:1.14 评价:★★★★
文件: English版  简体中文版(感谢zhtaoist汉化)
说明文件
功能: 目录列表工具,能够列出FTP、本地磁盘上的目录内容,输出格式可以是树型图,也可以是URL、HTML、带格式文本文件等形式。
动机: 对于喜欢下载的人来说,如果某些FTP比较难连,可以用FtpList整理出这些FTP服务器的URL列表,然后把URL粘贴到FlashGet等下载工具中,这样就可以用比普通FTP工具更可靠、更执着的专业下载工具,一天24小时不停地进行重试,直到下载到为止。
对于FTP站点管理员或普通用户来说,可以用FtpList生成本地目录的树型图,便于管理、宣传。
UpdateSite 更新: 评价:★★★
文件: English版
功能: 将指定目录下在指定时间后更新过的文件拷贝到另一个目录下。
动机: 兄弟在家用的56K猫最多能拨到33.6KB,因此在家更新主页有点不太现实,但要将整个网站内容搬到办公室也同样不太现实。因此做了这么一个东西:仅将更新过的内容抽取出来,拷到办公室再更新。
Chater 更新:2002.02.27 评价:
文件: 中文简体版(内附中文简体版说明文件)
源代码(VC++ 6.0)
功能: 一个网络聊天程序,任何一台机器均可成为服务器,其它想聊天的机器往它那里联即可。程序本身既可当Server又可当Client。
动机: 用于测试面向连接的socket编程,自己建立心跳保持功能。
说明: 曾经有同事评价这个软件的多线程部分写得太复杂,但是我个人认为抽象得还可以。
FileUpdate 更新: 评价:
文件: English版
功能: 两个目录下文件的比较、更新程序。
动机: 我一般每年的年初都要搬一次Codeguru站点,有时候成批下载后还需要对重点目录进行补充下载,这时就存在文件更新的问题。由于网络出错而断开的文件长度一般小于正常文件长度,因此指定目标目录后,检察源目录下的所有文件,如果文件在目标目录中不存在,或文件长度大于目标目录中同名文件的长度,则将文件从源目录复制到目标目录。
HtmlOrder 版本:1.10 评价:
文件: English版
功能: Offline Explore、FlashGet辅助工具:根据文件名前缀、后缀及中间的数字范围,自动产生HTML,包含所需的全部链接(前缀+数字+后缀)。与FlashGet的“添加成批任务”差不多,不过FlashGet只有一个参数,这个允许同时使用两个参数,适应URL按卷号+页号组合的情况。
动机: 专用于对付那些链接隐藏得太深刻的网页。
CrazyReader 更新: 评价:
文件: (取消下载)
功能: 一个半吊子的离线浏览器(offline browser,请勿与GetRight、NetAnts、FlashGet等断点续传工具混为一谈),也是我编的第一个HTTP client (在LG-PRC工作期间开发的PKISS系统中则包含我编的第一个FTP client)。
动机: 我初上网时常去“阿拉谈书屋”看小说,网主无聊到将每一页做成一个文件(后来他也为此而后悔不已),看起来很不爽,所以就想编一个程序自动将所有文件下载下来。测试的效果马马虎虎,后来用了Webzip、Offline Explorer等以后就再也没心思搞下去了。
以前用专线网搬站点玩时(奢侈的岁月),我一般是用Webzip、Offline Explorer、CuteFTP轮番上阵,不行时就用GetRight玩盯人战术,滴水不漏,不搬光誓不罢休,甚至出现服务器方一边删除我一边下载,大家比拼速度的火爆场面。这时内容已经不是主要的,刺激才是第一位的:很多站点搬下来后浏览一遍就删光。
不过在经过一年多的跟踪、比较后,我就只用Offline Explorer,其它都删掉了。
  

编程工具系列

ReadHCpp 更新:2002.01.04 评价:★★
文件: (取消下载)
功能: 检查指定目录下的H和CPP文件,为变量定义、函数定义建立HTML格式的索引。
动机: 在通过Inside Visual C++学习VC编程时,学会了一招:从MFC中paste源代码。但是要知道哪个函数是在哪个文件里实在是不容易,所以就编了这么一个玩艺。
说明: 只能识别符合MFC书写规范的代码,其它书写规范的代码可能会出现误识别。
DOSWin 更新: 评价:★★
文件: English版 源代码(VC++ 6.0)
功能: 执行DOS程序,将输入、输出重定向到文本编辑框中,便于滚动查看、存盘、复制。
动机: 开始时是为了替CoolMsg程序解决在Win 9x下的网络节点枚举问题,后来发现可用于工控软件开发等领域,因此逐渐扩充其功能。
说明: 主要使用了管道重定向技术。
GBCode/GBKCode 更新: 评价:★★
文件: GBCode简体中文版  GBCode源代码(VC++ 6.0)GBKCode简体中文版
功能: GBCode:反查GB 2312汉字的区位码,或逐区显示汉字。
GBKCode:反查GBK汉字编码,或逐区显示GBK汉字。GBK汉字包括所有GB2312、Big5、CJK汉字。
动机: 开始是为了对比Java Script对中文字符串的支持,后来发现还有其它用途:可以Copy/Paste包括日语、俄语、希腊字母、拼音等在内的特殊字符,可以从汉字查读音,等等……。
后来为了输入的方便,又增加了Drag & Drop功能:双击选中某个字符,按住鼠标可以拖动到Word、IE等软件的输入窗口。拖动时如果嫌窗口来回倒换麻烦,可以选中“顶层窗口”选项,让窗口固定在所有窗口的上方。
说明: 在GBCode源代码中,不仅演示了GB 2312内码的操作,还演示了drag-drop功能的实现。GBKCode的源代码没有公布,但是从GBCode改为GBKCode实在用不了多少时间,可以作为编程练习。
PrintLayout 更新: 评价:
文件: English版
功能: 打印布局设计程序。也可用于软件开发初期的界面草图设计。
动机: 在用VC开发程序时,有时需要按某些格式打印复杂表格。如果将表格固化在VC源程序中,不仅调试麻烦,而且浪费程序资源和程序员的名声,当表格布局发生变化时也会给维护工作造成不便。幸好伟大的Iuri Apollonio在Codeguru中发表了一个solution:用Script对表格进行描述,在程序中通过Script解释器绘制、填充表格,实现表格的打印和打印预览。Iuri Apollonio给出了Script解释器的全部源代码,并提供了一个表格编辑器的EXE文件,用于绘制表格,并将绘制结果自动保存为Script解释器能够识别的格式。但是正象Iuri Apollonio自己说的一样,这个表格编辑器仅仅是“能用”而已,离“好用”的地步还相差甚远,运气不好时甚至会破坏Script文件。有鉴于此,我开发了这个编辑器,不仅完全实现了所需功能,而且稳定性大有提高。
计划: 其实我是想把这个程序作为我构想中的“通用报表打印程序”的一个部分,未来再做一个支持DDE、OPC、OLE Automation的数据采集与打印程序,从数据源获取数据,按规定的格式定时打印报表。
SpecEffect 更新: 评价:
文件: English版
功能: 窗口特技示例。
动机: 某年某月的某一天,我预计需要为一个娱乐性应用增加一点花哨的窗口特技,包括卷帘、百叶窗、马赛克、爆炸式缩放、窗口漂移、半透明窗口、淡入/淡出等,最初的模仿对象是IE和PowerPoint,后来则参考了一些电视节目中的镜头。虽然最终还是没有应用到我原先所想的应用中去,但光是看到各种美丽的特技就已经让我觉得精力没有白费了。
说明: 1、此程序初始版本由张若水完成,我后来重写了所有特效部分。
2、由于免费空间限制,此文件被分成了两部分,下载后拷贝到同一个目录下,运行BAT文件,即可拼合出完整的ZIP文件。
计划: 1. 模仿IE的飘浮图形:一个背景透明的Bitmap在屏幕上随机漫游,或跟随鼠标光标移动。算法其实很简单。
2. 将已实现的特技效果用于对话框窗口的打开、关闭。目前已经实现的效果均是针对CView实现的,因为在显示CView前可以通过OnDraw函数在内存DC中绘制出将要显示的内容,剩下的就是对Bitmap的操作了,而CDialog不存在OnDraw函数,因此需要一些技巧来加以变换,但基本原理是不变的。
VBInter 更新: 评价:
文件: (取消下载)
功能: VB软件的国际化辅助工具。
动机: 我在学校时曾研究过VC程序的国际化问题,并提出了一套管理技术。但是到韩国后,又需要考虑VB程序的国际化问题,就编了这么一个程序,专门管理各Form中的不同语种信息。
说明: 目前的版本适用于VB 5和VB 6,其它VB版本则不敢保证,因为有些frm文件的格式可能不同。
计划: 推广到PowerBuilder等系统。
AnimateIcon 更新: 评价:
文件: English版  源代码(VC++ 6.0)
功能: 多线程动画演示程序。
动机: 1. 尝试为自己的程序添加活泼一点的界面。
2. 练习多线程编程技术,尤其是解决线程之间的同步问题。
3. 练习资源的提取与转换。
说明: 1. ImageList项下的两个图形均由我编制的一个CAnimateWnd类显示,该类为窗口内的动画创建一个线程。所显示的两个图形的各祯分别由动画icon和GIF文件中提取。
2. AnimateCtrl下的图形采用32位Windows提供的标准动画控件显示,其图像的来源颇为曲折:先用Visual Studio 6从ACDSee的EXE文件中提出GIF资源,然后用Ulead GIF Animator转换为AVI,再存入VC project的资源中。其实VS6抽取资源的功能是很强大的,因此可能会成为一把双刃剑。不过要对付它也不难:将EXE文件用HackStop之类的工具加密或压缩就可以了。当然加密、压缩后需要进行充分的测试(这就是我不想用这些工具的原因之一,之二是有茅必有盾:网上遍地都是解压缩程序)。
ChkLine32 更新: 评价:
文件: English版 源代码(VC++ 6.0)
功能: 统计一个目录下的所有源程序共有多少行。
动机: 为了应付一个无聊的需求而编的一个无聊程序。
说明: 虽说软件有点无聊,不过源代码还是值得一看的,里面有一些可以用于其它项目的东西存在,当然能不能看出来就是你的事了。
DAO 更新: 评价:
文件: English版
功能: 专门针对DAO的SQL语句测试程序。说句实在话,这个程序并不能算是我编的,它原本是Dundas公司产品Ultimate Grid 97 MFC Professional的DAO数据源演示程序,我在其上进行了一些改进,增添了一些新的功能而已。
动机: 在用VC、VB开发数据库应用的时候,总希望在将SQL语句写进程序之前能够看一下它的实际执行效果,这个程序就是为此而开发的:如果是Query类的SQL,则将查询结果用表格(其实就是Dundas的Ultimate Grid)显示出来;如果是Execute类SQL,则执行SQL,执行结果需要用Query类的SQL进行检察。
说明: 这是与Access 97相兼容的版本,使用前必须先在系统中安装Access 97。
题外话(应该不算广告):对于编程人员来说,不论是用VC还是VB,一个稳定、可靠、功能强大的Grid控件都是必不可少的。当年我曾经在网络上连续搜索、测试了大量的Grid控件,包括免费的和付费的,这其中大部分是以OCX控件的形式存在,这就存在两个主要问题:第一是发行软件时需要同时发行OCX控件,包括控件注册等,与我一直坚持的“绿色软件”的概念相抵触;第二则是只有亲身经历过的人才能体会的痛苦:在没有源代码的情况下,软件的调试、扩充都是问题,而且没有任何人能保证或证明第三方控件是完全可靠的。因此我只对那一小部分的感兴趣:完全以源代码形式提供的控件。这样的Grid控件在Codeguru下可以找到一些,而且完全免费,不过其功能实在有限。在收费控件中,我最终选择了Dundas的产品,在看到它的demo时我就已经垂涎三尺了,在本程序中用到的是它的数据源功能,在FindDupFile程序中则用到了它的cell type功能,标准的cell type包括文本/数字、droplist、checkbox等,另外也可以自由地从cell type基类派生出新的cell type,这样的优点已经足够让我将OCX控件扔进历史的垃圾堆了。
DAO_2000 更新: 评价:
文件: English版
功能: 上一个程序的2000版,兼容Access 2000,兼容ODBC
说明: 1、使用前请确认您已经安装了Access 2000和VC++。
2、使用ODBC时,请保持"Password"框为空,在"Database"框填入ODBC Connection String,格式为:ODBC;dsn=mmm;
DBStruc 更新: 评价:
文件: English版
功能: 显示数据库结构,包括表、字段、数据类型及关系,显示结果可存盘、打印,支持MDB和ODBC数据源。
动机: 曾经有一个时期我需要经常访问远程Oracle数据库及本地MDB,迫切需要能够以文本文件的形式将数据库结构保存起来,以便编程时引用,同时作为重建数据库时的依据(在非英文版本的Access下创建的MDB只能在该语种的Access下才能打开)。Access自身所带的文档生成工具又不能满足我的要求。
说明: 使用前请确认您已经安装了Access 97。
DBStruc_ADO 更新: 评价:
文件: English版
功能: 上个程序的ADO版,支持ODBC。
  

读书工具系列

MyReader 版本:1.34 评价:★★★★
文件: 中文简体版  中文简体版说明  English版(其中的说明还是中文的)
从1.19版开始,文本文件可以设置背景图,这里是我从网上收集的一些图片。注意深色背景用浅色字,浅色背景用深色字。
功能: 一个专为看HTML、TXT等格式的电子版小说而开发的浏览器,采用IE内核,适合在线浏览和离线浏览。在线浏览时可以通过窗口过滤器过滤弹出窗口,离线浏览时可以直接从ZIP/RAR中读取内容,还有书签、现场保护、资源浏览器右键菜单扩展等功能。
动机: “非典”期间我把华军站上的“电子阅读”、“主页浏览”下的所有工具全部用了一遍,发现没有一个同时支持HTML和ZIP/RAR,所以才开发了这个东东。
TextForever(FineReader) 版本:1.79 评价:★★★★
文件: 中文简体版  中文简体版说明 English版(其中说明文件还是中文的)
中文繁体版 v1.58(感谢阿呆2的辛勤工作!)
功能: 提供以下功能:HTML->TXT转换、文件合并、TXT文件段落合并、TXT文件分行、编码(GB/GBK/Big5/Shift-JIS/Unicode)转换(只能用于Win 2k/XP)、文本替换、HTML代码整理、文件切分、文本提取、正则表达式、TCR批量压缩/解压,用于整理从Internet上下载的小说。软件原名FineReader,后更名为TextForever。
动机: 我初上网时常去“阿拉谈书屋”看小说,网主无聊到将每一页做成一个文件(后来他也为此而后悔不已),看起来很累,所以就想编一个程序能对下载下来的文件进行合并、整理,变成TXT文件以便阅读、打印。
为了编制这个程序,我专门从Internet下载了一堆HTML文档,苦读半月。所以有一次我和一个朋友开玩笑:他通过做主页练HTML,我则通过读主页练,大家殊途同归。
说起来“阿拉谈书屋”对我所起的作用实在不小,不仅将我引进了Internet的大门,还为我学习Internet编程提供了强大的动力,先后产生了CrazyReader和TextForever(FineReader)。
这个程序的段落合并功能则是在我对在网上大肆吹嘘的某“智能排版”工具感到极端厌烦的情况下做出来的,保证比它好使。
PageByPage 版本:1.11 评价:★★★★
文件: 中文简体版  中文简体版说明
功能: 这是一个专门针对文本版小说的阅读器兼编辑器,具有下列特点:
  1. 提供分页阅读模式,模拟实体书籍的显示界面与翻页动画,能够设置桌面、封面、页面的图案或颜色,能够设置字体、字号、文字颜色、行距、下划线等。
  2. 提供文字编辑模式,包括常用编辑功能,如多级undo/redo、剪切、复制、粘贴、删除、查找、替换等。
  3. 分页阅读是既支持横排显示,也支持竖排显示。竖排时阅读顺序是从右往左。
  4. 能够通过自动恢复、书签等功能记忆阅读位置,一次看不完下次接着看。
  5. 能够按照一定的查询条件搜索全文,生成章节列表,便于跳转、定位。
  6. 提供书库管理、“老板来了”等常用功能。
动机: 秒开,我只想要秒开。如果非要加一个限制,我希望10 MB以内的文件都能秒开。
我经常从网上下载小说,下载后一般先打开,拖着滚动条前后看一下,如果不合口味就直接删除,以免浪费硬盘和时间。MyReader、记事本等打开大文件太慢了,其他阅读器也有各种各样的问题,所以就综合百家之长,搞了这么一个东东。

电子书工具系列

《常见电子书格式及其反编译思路》
《用JavaScript获取网页中的js、css、Flash等文件》
《EXE电子书与垃圾》
《对E书制作的建议》
《图像转PDF的问题、方法及题外话》
《PDG转图像、PDF的若干方法》
《PDG转PDF注定会文件膨胀、质量下降吗?》
《用Pdg2Pic、TextForever实现批量OCR》
UnEBook 版本:1.02 评价:★★★
文件: 中文简体版  中文简体版说明  English版(其中的说明还是中文的)
功能: 1、电子书批量反编译,支持的格式包括:CHM、HLP、Web Compiler 1.67、Caislabs eBook Pack Express 1.6、ebx/XReader。
2、在反编译CHM电子书的时候,为了对付某些没有索引页,单纯依靠左侧目录树导航的情况,可以自动根据hhc文件,生成框架页和导航页。
3、将 RTF 文件批量转换成 TEXT 文件。
动机: 见《常见电子书格式及其反编译思路》一文。
KillEBook 版本:1.00 评价:★★★★
文件: (这个东西如果公开发表,估计你我都不会再有电子书看了,所以只能说:“抱歉,不提供下载!”)
功能: 一个通用电子书反编译软件,通吃所有基于IE内核的电子书,包括EXE格式和CHM格式。可以在不知道电子书具体文件格式的情况下,直接进行反编译,包括电子书中的图片、动画、css、js、音乐等内容。
动机: 见《常见电子书格式及其反编译思路》一文。
IECracker 版本:1.00 评价:★★★
文件: (不提供下载,理由同上)
功能: 一个很无敌的IE内核探索工具。在我遇到的基于IE内核的电子书里,我还没有见过它搞不定的。
动机: 见《常见电子书格式及其反编译思路》一文。
CtrlN 版本:2.01 评价:
文件: 中文简体Unicode版  中文简体版说明  English Unicode版(其中的说明还是中文的)
功能: 一个简单的网页查看程序,在浏览网页,或基于IE内核的电子书的时候,按下指定的快捷键(缺省为Ctrl+N,可配置),即可实现下面功能中的一种:
  1. 弹出一个新的IE窗口,在其中显示与当前浏览的页面完全相同的内容,但是这个新的窗口包含IE的全部菜单,包括“另存为”、“查看源代码”等,就好像在用IE浏览普通网页的时候按下快捷键Ctrl+N一样(这个软件的名字就是从这里来的)。这个是用来对付那些没有菜单的IE窗口、电子书,或禁止了快捷键、右键菜单的网站的。如果弹出的页面没有用JSP代码禁止右键菜单,也可以用右键菜单中的“图片另存为”功能,保存页面中的图片,不过多半只能存为BMP文件,其原因我已经在《常见电子书格式及其反编译思路》一文中解释过了。
  2. 弹出一个“记事本”窗口,显示当前浏览页面的HTML源代码。这个功能经过特殊处理,比IE的“查看源代码”功能靠得住些,可以有效对付那些通过流动态生成的页面。
  3. 弹出一个“记事本”窗口,显示当前浏览页面的文本。这个功能目前IE 6还没有。在弹出的文本窗口里,你想拷贝什么都可以随便拷贝(如果剪贴板功能没有被封锁的话),也可以对内容进行编辑后存盘。
  4. 弹出一个“记事本”窗口,显示从加密网页中提取的解密后的BODY段HTML源代码,用于对付某些加密网页。

缺省情况下实现的是第一种功能,不过可以配置成实现另外几种功能。某些特殊网站或网页会对上述某项功能进行了封锁,因此如果一个功能不行(例如按下Ctrl+N后弹不出新窗口),可以再试试其它功能(如弹出文本)。

另外在软件的高级界面中,不仅可以执行所有快捷键行为,并通过选择/输入javascript代码、URL等,对电子书、网页进行操纵,或进行cookie复制。

动机: 1、由于我不打算提供KillEBook、IECracker的下载,所以提供这个小工具,作为补偿。对于确实需要从网页或电子书中获取所需内容的人来说,可以用它得到页面的内容。但是我也不太相信真的会有人用它来反编译具有多个页面的电子书,所以对电子书制作者来说,它应该不会构成威胁,至少不会构成很大的威胁。
2、某些网站对IE右键菜单进行了封锁,让我感到很心烦。
3、在调试动态网页的时候,有时也需要一个这样的小工具,查看一下客户端的HTML代码。
miniKillEBook 版本:1.07 评价:
文件: 中文简体版  中文简体版说明  English版(其中的说明还是中文的)
功能: 一个专门针对基于IE内核电子书的反编译软件,可以在不知道电子书具体文件格式的情况下,反编译电子书的内容。但是内部对功能进行了限制,只能反编译HTML内容,不能反编译电子书中的图片、动画、css、js、音乐等。反编译结果可以是原始的HTML文件,也可以直接存为文本文件,方便转换成PDA、手机电子书格式。如果确实需要反编译动画、css、js、音乐等,可以参阅《用JavaScript获取网页中的js、css、Flash等文件》
动机: 在发表《常见电子书格式及其反编译思路》的时候,我出于某些考虑,没有发表配套的应用程序KillEBook和IECracker,结果很多人给我来信,向我索要这两个工具,让我烦不胜烦。无论如何,这两个工具是不能外传的,所以我将KillEBook的功能进行了限制,删掉了使用IE的非公开接口反编译图片、动画、css、js、音乐等的功能,仅仅保留了HTML反编译功能,就成了这个可以公开发表的miniKillEBook。
eBookRegClean 版本:1.02 评价:
文件: 中文简体版
功能: E书注册表垃圾清理器。
在打开用eBook Workshop、eBook Edit Pro等生成的EXE格式电子书后,在系统注册表中会留下垃圾。本软件的目的就是清除这种垃圾。系统temp目录下的文件垃圾,需要手工清理。
动机: 在看了一段时间的电子书后,我偶尔运行regedit,立刻被吓了一跳:注册表里不知不觉,多出了几百项东西,全部是以电子书文件名开头。当时就下定决心要做一个垃圾清理器。 参见《EXE电子书与垃圾》
DACapturer 版本:1.03 评价:
文件: 中文简体版  中文简体版说明
功能: 1、抓取用DesktopAuthor(以下简称DA)制作的电子书的页面,转换成PNG图像或PDF文件。
2、将图像文件(PNG、GIF、JPG、BMP、TIFF)批量合并、转换成PDF文件。
动机: 测试PDFLib Lite图像转PDF引擎。
FreePic2Pdf 版本:4.03 评价:★★★★
文件: 中文简体Unicode版  中文简体版说明 English Unicode版(其中的说明还是中文的)
以上版本均为Unicode版
功能: 将图像文件(包括TIFF、JPG、PNG、GIF、BMP、JPEG 2000)合并、转换成PDF文件的软件:
  1. 对有损/无损压缩jpeg 2000(jp2/j2k/jpc)文件,或有损压缩JPG文件及采用JPEG/OJPEG算法压缩的TIFF文件,直接将原始数据流嵌入PDF文件,避免因为重新压缩而造成图像质量下降。
  2. 对其它无损压缩图像文件,黑白图像解码后压缩为JBig2(有损/无损)或CCITT G4,其它解码后压缩成ZIP数据流嵌入PDF文件。虽然解码/压缩需要消耗一些时间,但是在多数情况下可以减小PDF文件长度。
  3. 对于黑白图像,可以指定背景是否透明。如果透明,在PDF Reader中阅读时可以根据需要自行设置背景色(我习惯设为灰色),以免白底黑字看着太累。
  4. 支持多页TIFF和多帧(动画)GIF,每页或每帧算一幅图像。
  5. 可以指定生成的PDF文件的页面大小(除A4、B5等,还支持国内常用的32开、16开、大32开)及页边距,这种指定不会造成对图像数据流的重新采样或压缩,只影响PDF中描述图像显示大小的数据, 避免因为重新采样或压缩而造成图像质量下降。
  6. 如果不指定页面的纸张大小,可以指定页面的固定宽度(长度随图像大小伸缩),保证连续阅读时不会因为页面宽度变来变去而影响阅读。
  7. 可以选择需要转换的文件,也可以指定需要转换的文件夹;可以指定文件排序方式(按字母顺序、按末尾数字顺序、按超星顺序);可以将所有图像文件合并到一个PDF文件,也可以每个图像文件分别转换成一个PDF文件。
  8. 支持通过接口自动生成多级书签、分段页码、添加文本页、设置PDF的Document Properties,支持Unicode字符。
  9. 接口文件可以用于新生成的PDF,也可以用于已有的PDF,包括往已有的PDF上加书签、从已有的PDF中抽取书签。
  10. 生成的PDF文件中只包含必要的信息,因此在PDF质量不变的情况下,生成的PDF废话最少。
  11. 在转换的同时,可以通过OCR生成可检索、可复制的隐藏文本,合成双层PDF,并提供对自身所生成的双层PDF进行校对所需的辅助功能。
  12. 软件基于开源代码实现,运行时不需要任何第三方软件或控件的支持。当然如果要浏览制作出来的PDF文件,您的机器上必须安装Adobe PDF Reader或其他PDF阅读软件。
动机: 测试我自己写的图像转PDF引擎,详见《图像转PDF的问题、方法及题外话》
Pdg2Pic 版本:4.04 评价:★★★★
文件: 中文简体Unicode版  中文简体版说明
功能:
将PDG文件转成图像文件(包括TIFF、JPG、PNG)或PDF文件,具有下列特色:
  1. 软件独立运行,不需要SSREADER或其他软件、控件的支持。
  2. 支持支持V1版PDG,及V2版0xH、1xH、28H、AxH,不支持FFH、6xH;支持名为PDG,实为JPG、JPEG 2000、PNG、BMP、GIF、TIFF、DjVu、PDF的文件,但文件名必须符合PDG命名规范。
  3. 对图像版PDG,可以转换成图像,也可以直接转换成PDF,包括OCR成双层PDF,并提供对自身所生成的双层PDF进行校对所需的辅助功能。
  4. 对文字版PDG,可以转换成散页PDF,并与图像版附属页统一编号,便于合并。
  5. 转换成PDF时,支持分段页码、多级目录(书签),能够将目录、BookInfo.dat作为文本添加到PDF文件中,并用BookInfo.dat中的内容填写PDF的Document Properties,包括Title、Author、Subject、Keyword。
  6. 除彩色版DjVu文件外,所有转换均为无损转换。
  7. 如果转换过程中出现错误,将给出错误日志,便于定位有问题的PDG文件。
  8. 超星JPG版PDG经常有错,超星浏览器在打开这些数据错误的PDG文件时可能会中断退出,因此提供“JPG文件修复”功能,对文件进行修复。

PDG文件是超星公司电子图书的专有格式,需要用超星公司的专用浏览器才能阅读。本人无意对超星公司的版权进行任何形式的侵犯,也不希望任何人用本工具从事侵权活动。如果需要浏览PDG电子书,请通过购买点卡等方式,以合法的途径获得。本软件假定用户通过合法的手段获得PDG文件,只是由于希望能够在比超星浏览器更好、更方便的浏览器上阅读,并且不对转换出来的文件进行扩散的情况下,才需要将PDG文件转换成图像文件。

动机: 测试我自己的一些想法,详见《PDG转图像、PDF的若干方法》《PDG转PDF注定会文件膨胀、质量下降吗?》《用Pdg2Pic、TextForever实现批量OCR》
PdgThumbViewer 版本:2.08 评价:★★★
文件: 中文简体Unicode版  中文简体版说明
功能:
  1. 提供类似ACDSEE的缩略图浏览界面,“所见即所得”地检查PDG文件是否存在坏页等。
  2. 提供批量检查界面,能够一次检查多个文件夹下的PDG文件是否有缺页、坏页、黑线页等。
  3. 提供资源管理器插件,让Windows的资源管理器显示PDG文件缩略图、文件信息和预览,支持x86和x64 Windows。
  4. 提供资源管理器右键菜单,便于快速启动批量检查界面。
  5. 提供基本浏览功能,可以当作一个简易的PDG文件浏览器使用,不过只能浏览图像PDG。
  6. 基于Pdg2Pic内核实现,不仅可以摆脱超星浏览器独立运行,而且检查没问题的文件用Pdg2Pic、UnicornViewer均可正常打开。
  7. 目前仅能检查0xH、1xH、2xH、AxH的图像、文字版PDG文件,不支持6xH或HTML版PDG文件。支持名为PDG,实为PNG、GIF、BMP、TIFF、JPG、JPEG 2000、DjVu的文件。
动机: 所有下载过PDG文件的人都会明白我的动机。
TiffToy 版本:2.01 评价:★★★
文件: 中文简体Unicode版  中文简体版说明 English Uncidoe版(其中说明文件还是中文版)
功能:
  1. TIFF文件合并:将散页TIFF文件合并成一个多页TIFF,同时支持将JPG、BMP、PNG、GIF转换成TIFF,其中JPG转TIFF是无损转换。可以指定每个文件包含的散页数,如用于Office 2003的OCR识别时最好每个文件不超过100页。
  2. TIFF文件拆分:将多页TIFF拆分成每页一个文件。JPEG或OJPEG压缩的TIFF可无损转换成JPG。
  3. 查看TIFF文件结构:如果打算对TIFF文件内部格式进行研究,这个功能那是相当地有用,不然还是点“显示设置”按钮,把它藏起来算了。
动机: TIFF文件研究。
DjVuToy 版本:2.04 评价:★★★★
文件: 中文简体Unicode版  中文简体版说明 English Unicode版(其中说明文件还是中文版)
功能: 一个处理DjVu的工具集,具有下列功能:
  1. 文件合并:将散页DjVu文件合并成一个多页DjVu。支持指向外部文件的共享数据段。
  2. 文件拆分:将多页DjVu拆分成每页一个文件,并可指定是否拆分共享数据段、是否生成索引。
  3. 页面调整:插入、删除、移动、旋转多页DjVu中的页面。
  4. 生成索引:为文件夹下的散页DjVu文件生成索引文件,打开索引文件即可浏览全部散页文件,就像将散页文件合并成了多页文件一样。
  5. DjVu制作:图像文件转DjVu,支持PDG、BMP、GIF、PNG、TIFF、JPEG、JPEG 2000。
  6. PDG转DjVu:这个不用说了吧?
  7. PDG压缩:对清晰版进行无损压缩,或将清晰版压缩成快速版,或将黑白TIFF转换成PDG。
  8. DjVu页宽设置:将多页DjVu的页面宽度或DPI设置为一个统一值。
  9. 转为图像:将多页DjVu的每一页转换成一个图像。
  10. DjVu文本处理:包括OCR(生成可检索的隐藏文本)、导出纯文本、导出XML文本、导入XML文本、删除文本。
  11. DjVu注释相关:包括导出、导入、删除注释。注释(Annotation)可以是超链接、标注等。
  12. DjVu转PDF:一次将整本DjVu转换成PDF,并可选择是否转换书签(目录) 、隐藏文字,没有隐藏文字时还可以在转换的同时进行OCR,并提供对自身所生成的双层PDF进行校对所需的辅助功能。
  13. 查看DjVu文件结构:如果打算对DjVu文件内部格式进行研究,这个功能那是相当地有用,不然还是点“显示设置”按钮,把它藏起来算了。
动机: DjVu文件研究。
PdgCntEditor 版本:3.02 评价:★★★
文件: 中文简体Unicode版  中文简体版说明 English Unicode版(其中说明文件还是中文版)
功能:
一个目录文件编辑器,具有下列特点:
  1. 在文件格式上,支持PDF、DjVu、PDG(包括bookcontents.dat和catalog.dat)。PDF不支持加密PDF。
  2. 在编辑界面上,提供文本、树形两种编辑模式,以满足不同的需要。
  3. 提供PDG目录编解码功能,有兴趣的用户可以用它对PDG目录文件内部数据格式进行研究。
  4. 可以不解包直接编辑zip文件中的PDG目录文件,编辑结果直接存入zip。
  5. 能够与UnicornViewer(UV)联动,从UV中启动以编辑当前正在阅读的文件目录,存盘后会自动通知UV刷新目录。
  6. 支持符合FreePic2Pdf接口文件格式的目录文件(FreePic2Pdf_bkmk.txt),并能从DjVuToy、FreePic2Pdf中启动,对PDF、DjVu目录文件进行编辑。
  7. 除常规的查找、替换、编辑等功能外,还提供“总在最上面”、“半透明”等功能,方便对照原文对目录进行编辑。
  8. 提供繁体、简体转换功能,方便海外用户使用。
  9. 文本编辑模式下支持正则表达式替换,采用微软为VBScript、JavaScript准备的正则表达式引擎,因此语法与ASP、JSP中的正则表达式语法一致。
HugeCHM 版本:1.10 评价:
文件: 中文简体版  中文简体版说明 English版(其中的说明还是中文的)
说明:以上版本均为Unicode版,不能在Windows 95/98/Me下运行。
功能:
CHM制作、拆分、重新打包工具,不仅可以将海量(测试近20万个)HTML文件打包成CHM,而且可以反编译CHM,包括CHM内部控制文件 ,或者将反编译出来的文件(包括内部控制文件)再重新打包成CHM。

HugeCHM最大的特色是没有用HHA.DLL,而是直接通过ITStorage接口对CHM文件进行操作,因此能对CHM内部控制文件进行更精准的控制(其实是进行了大刀阔斧的删减),从而:

  1. 能够对海量HTML进行打包。普通CHM打包工具不怕文件大,但怕文件太多,而HugeCHM专门就是为处理海量HTML开发的。
  2. 软件界面简洁,连一般HTML打包软件常见的文件列表都没有。因为在处理海量文件时,文件列表实在是一件既耗时间又耗内存的工作,但是一般打包工具为了生成HHA.DLL所需的HHP文件,不得不花费时间、内存生成文件列表,HugeCHM则不需要。
  3. 生成的CHM文件界面也很简洁,没有目录、索引、搜索、书签等导航项。其实在面对海量HTML文件时,我根本就不相信会有人打算去做这些东西。
  4. 我本人平时比较喜欢看电子书,知道目前国内某些人在做电子书时,总喜欢给电子书加一个封面,点进去才是真正的内容 ,并且总想在某处引导到一个说明页,介绍一下制作者。用普通CHM打包工具实现这些当然不成问题,不过要点技巧;而HugeCHM简化了这种操作,用户直接选择封面页、目录页 、说明页即可,并且在生成的CHM文件工具条中自动加上“封面”、“关于”按钮。当然如果不喜欢,也可以选择使用标准工具条,或干脆就没有工具条。
  5. 对于海量文件,不论是打包还是拆分都将是一个漫长的过程,因此带自动关机选项,便于夜间无人值守下运行。
  6. 与普通CHM打包软件相比,生成的速度要快那么一点点,生成时消耗的内存要少那么一点点,最终生成的CHM文件也要小那么一点点。
动机: 一般HTML电子书我都压缩成zip后用MyReader看,但是zip包中的文件数不能超过65535个,因此在文件太多的时候,也只能压缩成CHM,RAR太慢了。
PdgRenamer 版本:2.07 评价:
文件: 中文简体Unicode版  中文简体版说明
功能:
PDG文件更名工具,具有下列功能:
  1. 将图像文件更名为PDG。目前支持的图像文件包括TIFF、JPG、JPEG 2000、PNG、GIF、DjVu、BMP等。对于自扫书籍,或从PDF、DjVu中导出的图像,用此功能更名为PDG,即可直接用ComicsViewer、UnicornViewer浏览,或用Pdg2Pic + FreePic2Pdf转换成PDF,或用DjVuToy转换成DjVu。
  2. 重新排列PDG文件名。由于种种原因,原始PDG文件的页码或页面类型可能编排错误,用此功能可以重新编排,理顺页面顺序。
  3. 恢复图像文件扩展名,包括恢复名为JPG实为PNG,或名为PDG实为TIFF、JPG、JPEG 2000、PNG、GIF、DjVu、BMP等的文件。
  4. 在更名过程中,如果“黑白图像转PDG”选项被选中,黑白TIFF、PNG、GIF、DjVu、BMP在命名为PDG时,将自动转换成00H PDG,相当于PDG Maker。
动机: 各种格式转来转去也没啥意思,干脆改改文件名就算。
DpiCalc(DPI计算器) 版本:1.02 评价:
文件: 中文简体Unicode版   Excel版
功能:
DPI计算工具,具有下列功能:
  1. 按被扫描的纸张尺寸、扫描DPI计算扫描后的像素尺寸。
  2. 按被扫描的纸张尺寸、扫描后的像素尺寸反推扫描DPI。

提示:
由于书籍装订边的影响,扫描到的纸张宽度通常小于实际整本书的宽度,因此按照宽度计算DPI,其实不如按照高度计算DPI准确——高度方向可没有装订边。当然如果扫描的时候衬了一张白纸,或者对图像进行过裁剪,那按什么算都不会很准。
 

动机: 在readfree的专家找书区经常为扫描DPI吵来吵去,而以前UV、Pdg2Pic在报告DPI的时候是按照CX的算法算的:图像宽度小于1200像素则是150 DPI,否则是300 DPI。这样的算法没有考虑书籍开本的影响,是一种很容易引发歧义的算法,所以干脆搞这么一个计算器出来,让想较真的人算到爽。
  

磁盘文件系列

BatchUnRar 版本:2.00 评价:★★★
文件: 中文简体Unicode版  中文简体版说明 
功能: 一个专门用来解压分卷RAR的软件,支持批量解压、密码自动记忆等。
当然一般分卷压缩的RAR文件,都已经在压缩时自动编号,解压时WinRAR能够自动识别,用不着我多事。但是对于从某些BBS上下载的分卷压缩文件,可能因为BBS本身的原因,分卷压缩文件下载后,名字变成了200512310423834.rar、200512311289544.rar之类的东西,在用WinRAR解压时,就会提示用户手工选择后续卷,一旦选错就不能正常解压,很不方便。BatchUnRar就是专门针对这种情况的:能够按照分卷压缩文件的卷号(WinRAR 3.4以上压制的文件)或创建时间(WinRAR 3.4以下版本压制的文件)对文件进行排序,然后批量解压,不再需要用户手工选择后续卷。当然对于正常的RAR文件,如果您一次下载很多,懒得用WinRAR解,也可以用BatchUnRar批量解。
动机: 我平时没事喜欢翻翻书,所以经常到rbook52ebook等BBS上下载电子书。但是在这些地方,下载到的都是200512310423834.rar、200512311289544.rar之类的怪东西,根本不能用WinRAR自动解压。所以差不多从我开始自这些BBS下载电子书开始,我就写了一个小软件AutoNum,按文件创建时间(读RAR文件的卷号很麻烦的)顺序重新编号分卷RAR文件,再用WinRAR解压。但在用了一段时间后,我终于也对这种分步操作的方式感到厌烦,就在AutoNum基础上加上RAR解压代码,顺便将按时间排序改为按卷号排序,凑出现在这个东东。
FindStr 版本:6.00 评价:★★★
文件: 中文简体版  中文简体版说明  English版(其中的说明还是中文的)
功能: 多文件、多条件组合查找、替换工具:在指定的目录下检查指定的文件,根据条件查找或替换指定的字符串,检索结果保存在数据文件中。
支持在ZIP/RAR包中查找,包括加密ZIP/RAR,相同的密码输入一次即可自动记忆。对ZIP/RAR包中文件内容的查找完全在内存中进行,不会产生任何临时文件。
查找到的文件可以用内嵌文本浏览器直接打开(包括zip/rar中的文件),也可以用指定的浏览器打开。
动机: 1. 弥补微软现有开发工具中查找功能的不足之处。
2. 批量更改HTML文件。
Chkcd 版本:2.11 评价:★★★
文件: English版(Unicode)
功能: 光盘检查程序。
动机: 购买盗版光盘时,最怕的就是买到的盘读不出来。所以在DOS时代我就编制了这个程序(现在已是32位GUI版),逐一读取盘上的文件,发现损坏则立即报告,然后找光盘贩子算帐。
说明: 为了图省事,现在的版本是单线程的(16位应用的延续?),但又希望能够在检察的过程中随时能够中断,不必硬着头皮撑到底,因此采用了16位应用中最常用的方法:在检察代码中插入消息泵。由于最终还是单线程,因此变量串行访问等问题均不存在,而在使用上又感觉不出与多线程的有什么区别。
计划: 在中断检查后允许从断点处继续检查(原16位代码的程序是有这个功能的,可惜……)。
FileCleaner 更新: 评价:★★
文件: English版
功能: 目录、文件快速清除工具。
动机: 1. 在Win 95下,当一次删除很多文件(例如光盘备份)时,删除速度及删除后的更新速度实在令人难以忍受(Win 98对此已进行了修正)。
2. 在用Offline Explore搬站点时,会产生等量的附加文件,手工删除这些文件实在太累了。
说明: 1. 为了追求速度,删除的文件不移动到Windows回收站里,因此也就没有后悔药可吃。
2. 本程序借用了Chkcd.exe中的消息泵技术实现后台操作。
FindDupFile 版本:2.03 评价:★★
文件: 简体中文Unicode版   English Unicode版   中文繁体ANSI版1.35(感谢盜者的汉化)
功能: 搜索指定目录及其下目录,列出所有内容完全相同的文件(文件名可能不同),然后由用户选择删除重复的文件。
动机: 凡是有上网收集图片的人都会明白我的动机。
Swf2Jpg 版本:1.00 评价:★★
文件: (取消下载)
功能: 批量文件格式转换程序,一次性将指定目录及其子目录下的所有swf文件中的JPG图片抽取出来。
动机: 某些网站发行swf格式的漫画,我觉得不如jpeg格式的看起来爽。
SOFTMNG 更新: 评价:
文件: (取消下载)
功能: 16位系统下的通用反安装程序。
动机: 凡是用过16位Windows的人都会明白我的动机。
说明: 这是我编的第一个Windows程序,也是我编的第一个面向对象程序。通过它我玩熟了Windows目录和INI,其中目录周游与检查的内核成为FINDSTR.EXE的基础。另一个16位程序Toolbar则使我做出了比16位Windows Tasklist更好的任务调度器。
  

数码影音系列

BitrateCurve 版本:1.03 评价:
文件: 中文简体版(含中文简体说明文件)中文简体说明文件
English版
功能: 一个码率计算程序,主要用于辅助分析、比较不同压缩参数对码率分配的影响,支持AVI和RMVB,具有下列特点:
  1. 可以计算出每一秒钟的码率,便于分析不同压缩参数对码率分配的影响。
  2. 可以计算码率分布频数和分布概率。
  3. 可以计算码率的统计特征量,包括最大值、最小值、平均值、标准差、变异系数等。
  4. 可以对文件格式进行分析,显示AVI、RMVB的相关文件信息。
  5. 可以同时分析两个文件,便于比较。
  6. 结果可以存为TXT文件,也可以存为Excel文件。如果是在Windows 98/Me下运行本软件,请将TXT文件与某个支持长文件的文本编辑器相关联,缺省的记事本程序只能打开32 KB的文本。Windows 2000/XP无此限制。
  7. 可以批量检查RM文件,看其中是否存在码率为0的情况。
动机: 我见过太多人对RMVB的压缩参数进行争论,每个人都在引经据典,说明不同的参数对码率分配的影响如何如何,但是很少见到有人能够拿出实际的数字,证明实际的码率究竟是如何分配的。DOOM9上也有人发表过一个计算RMVB码率分布的软件RMVB Analyser,可惜我每次运行这个软件都会出错,所以才决定开发这个软件,而且连AVI的码率也一起分析,便于比较RMVB及其AVI片源的差异。
BatchMp3Player 版本:1.01 评价:
文件: 中文简体版(含中文简体说明文件)
功能: 一个电脑白痴和懒人专用的背景音乐播放器,具有下列特点:
  1. 简单到只需要点一个按钮,就可以自动播放若干级子目录下的所有音乐文件,没有必要一个目录、一个目录地添加。 
  2. 具有“自动恢复”功能,下次启动时,可以从上次退出时播放的地方开始播放。 
  3. 可以建立书签,以后从列表中选择书签即可从建立书签处开始播放。 
  4. 支持顺序播放、循环播放、随机播放,而且基于微软稳定的媒体播放控件,连续播放一天都没有问题,特别适合播放背景音乐。 
动机: 现在虽然已经有无数的媒体播放器,但是这些工具都太强大,也太“难用”了。如果某人连豪杰超级音频解霸都不知道怎么用,我又怎么教此人去用Winamp?更别说那些界面怪异到连我看了都眼晕的播放器。所以迫于某些压力,我决定开发一个简单易用的播放器。
说明: 本软件基于微软Windows Media Player 6.4提供的控件,它不支持的格式,本软件也不支持。
CueCode 版本:1.06 评价:
文件: 中文简体版(含中文简体说明文件)
中文简体说明文件
功能: 一个专门用来解决cue文件中乱码的软件,可以将Big5码的繁体中文转换成简体中文,或将特殊西欧字符(ISO 8859-1字符集中ASCII码大于等于128的字符)转换成GB拼音字符或形状近似的英文字符,或将日文(Shift-JIS)转换成中文GBK编码。
动机: 从网上下载的cue文件有时候会出现乱码,看起来很别扭,所以就想做一个软件,解决这个问题。
说明: CueCode目前存在以下技术限制:
1、只能处理Big5码繁体中文、特殊西欧字符(ISO 8859-1字符集中ASCII码大于等于128的字符)、日文(Shift-JIS)造成的乱码。
2、CueCode完全是针对简体中文环境开发的,尤其是在转换西欧字符时,能够用GB码中拼音字符表示的都被我转成了GB码,实在不能转的才转成形状相似的英文字符。如果到了非简体中文环境下,这些转出来的GB码,可能又会成为新的乱码。当然如果你这辈子都在简体中文环境下混,这个限制可以当它不存在。
3、为了省事,繁体、日文转码过程使用的是Windows本身提供的标准API接口。由于转码过程中需要用Unicode作为中间码,因此此功能不能在对Unicode支持非常有限的Windows 95/98/me下使用,只能在支持GBK/Big5/Shift JIS代码页的2000/XP下使用。正常情况下,只要IE能够正常显示中文简体、中文繁体、日文网页,即可正常转换。
RealHunter 版本:1.03 评价:
文件: English版   中文简体版说明(说明文件中带关键源代码段)
功能: 傻瓜式的批量RM文件生成器,带自动关机功能。运行前请先安装Real Producer Plus 8.51。
RPlayTest 更新:2001.12.18 评价:
文件: VC源代码
功能: 用VC调用RealPlayer控件,播放RM、MP3等格式文件的源代码,for VC++ 6.0 and Real Player 8
动机: 不知道什么原因,在VC中直接使用RealPlayer 8的控件时,在资源文件中会生成错误的CLSID,然后VC就会不停地报告控件没有注册。在被折磨过几次后,我终于下决心寻求另外的解决之道。
说明: 如果您希望在您的VC项目中使用这个控件,请将RMPlayWnd.h、RMPlayWnd.cpp包含到您的项目中,然后在对话框资源中加入两个Static,一个拖动到播放窗口的位置和大小(为便于标识可以加边框),另一个拖动到控制条和状态条的大小,ID由IDC_STATIC改为IDC_STATIC_IMAGE和IDC_STATIC_BAR,其它处理参见示例代码中RPlayTestDlg.h、RPlayTestDlg.cpp的相关部分。
另外在运行前请务必确认您的机器上已经安装过Real Player 8,否则会找不到控件。
Scenery 版本:1.00 评价:
文件: English版  VC源代码
功能: 一个简陋的随机风景画生成程序,每次运行都会出现不同的结果。点击“Next”显示下一幅画,点击“Previous”显示上一幅。点击“Auto”,将按照“Interval”设置的秒数,自动显示下一幅。
动机: 很久没有拍风光照了,看看这个过过干瘾。
说明: 这个软件的风景画生成部分其实不是我写的,是上个世纪90年代中期某人发表在某份计算机报刊上的Torbo C程序(抱歉,由于时间太长,我手上又只有一份光溜溜的源代码,所以实在是搞不清作者究竟是谁、发表在哪份杂志上了),现在被我移植到VC++,并且加了一些GUI的功能。代码移植过程为:
1、先在Windows XP下,用Turbo C 2.0调试原始代码(turboc_src\DRAW.C),去掉与Windows XP不兼容的部分(getimage、putimage),并且在原结果不变的情况下,对代码进行适当更改,使之更方便移植。更改后的源代码见turboc_src\DRAW_A.C。
2、将更改后的DRAW_A.C复制到VC目录下,更改成C++代码(DrawPic.cpp)。这里用类对原代码进行封装的理由是:
a). 便于实现接口。其实在标准C方面,Turbo C与VC++是一样的,不同的只是画图部分。所以在移植的时候,决定原先的软件结构、代码基本保持不变,只是把Turbo C下的几个画图函数用CDC重写一遍。函数原型、枚举量直接从Turbo C的头文件复制过来。
b). 避免重名。Turbo C下使用的枚举量、函数名说不定会与VC的重名,为了避免麻烦,干脆将所有定义封装到类里,将它们的作用域限制死。
c). 避免复杂的参数传递。封装成类后,某些参数,如CDC、Pen、Brush指针等,就可以通过类成员引用,避免在参数表中传来传去。
最后整个画图过程封装成一个唯一接口GetBitmap,而不是任何类成员,则是出于如下考虑:
1、调用起来方便。如果是类成员函数,除非是静态成员,否则至少需要先构造类对象,才能对对象成员进行访问。
2、便于生成DLL。DLL只能输出函数,不能输出类。
IdxSubOcr 版本:1.14 评价:
文件: 简体中文版  中文简体版说明
功能: 一个专门用来OCR(光学字符识别)Vobsub格式字幕的软件,能够将idx/sub格式的字幕转成srt格式,并提供srt格式校对功能。OCR引擎为微软Office 2003所带的Microsoft Office Document Imaging (MODI),支持英文、简体中文、繁体中文、日文。
动机: 目前已经有一些免费的字幕OCR软件,英文的可以用Subresync,中文的可以用SubOCR。但是在使用了这些软件后,我还是决定开发IdxSubOcr,理由如下:
  1. 希望能够使用方便性方面有所改善。Subresync自带的OCR引擎的识别率很棒,但是每次都要敲几十个字母实在太麻烦;而且还不支持中文、日文字符。
  2. SubOCR实在太庞大,而且在某些机器上运行出错。
说明: 本软件的中文、日文识别结果为GBK字符,因此只能在支持GBK编码的环境下使用。一般Windows 2000/XP没有问题,Windows Me看运气,Windows 98多半不行。配置MODI以支持简体中文、繁体中文、英文的方法见《在简体中文Office 2003下OCR繁体中文、日文、韩文》。
关于LAME的preset参数
DIY版RMVB编辑器出炉记