小工具开发笔记—IE自动填表器—第零篇:序

2013-3-10更新:此系列博文更新了,有兴趣的读者可以点击查看第二篇 -- 执行JavaScript

小生不才,花费了一周时间(7天×10小时)完成了一个小工具—IE自动填表器。那么就献丑来详解一下开发的全过程吧,希望对有兴趣的看官有所帮助!

程序截图若干张:

Binaries

clip_image001

IE6


IE7

clip_image003

IE8

clip_image004

clip_image005

此工具的开发契机是由于家人需要频繁使用招商银行在线支付系统—众所周知—招行在线支付使用了ActiveX控件,导致每次输入只能手写卡号密码(不能复制粘贴),而卡号比较长,容易输错,故久而久之就有了动手开发辅助工具来自动填表的念头。其实早在三年前,小生已经使用C#开发了一个简洁版的只针对招行的自动填表工具(WPF + UI Automation)。直到目前完成此工具,之前那款才光荣退休。其实在这次动手编码之前,是考量过市面上同类型产品的,比较出名的是马桶智能填表火狐自动填表。但是前者不支持ActiveX填写和验证码识别,后者索性没有ActiveX这种东东(招行只支持IE浏览器-_-|||)。所以最终还是自己动手,丰衣足食!

在阅读后续开发内容之前,看官最好了解以下基础知识,这样才能更好的接受和理解本文。

  • C++/STL:这是必须的,程序完全使用C++开发,完全面向对象编程,大量使用了STL模板。
  • C++0X:这是即C++98标准以来又一新标准,目前还在初期阶段,微软VC10已经实现了部分C++0X功能。
  • COM/ATL:这是Windows平台独有技术,只要知道程序是基于COM就行。
  • GDI+/XmlLite/Accessibility:这些都是Windows平台独有技术,程序会使用到,了解即可。
  • API Hook:API钩子是很古老并且通用的技术,程序使用了微软实验室的Detours类库。
  • OCR:简单来说,就是图像识别技术,程序使用了HP和Google开源OCR引擎来实现验证码自动识别。

OK,序章就到此为止。我将会把整个开发过程份为若干个章节(章节数待定)在近期一一贴出。看官既可以把本文当作一个“技术”苦旅,也可以看作是一个拓展思想、思路的读物。因为我不仅会写道“怎么做”,还会写道“为什么这样做”。

posted @ 2010-09-05 23:15  Miles Chen  阅读(4915)  评论(15编辑  收藏  举报