对我等有事没事喜欢海编胡写一段代码但又痛恨洋文的爱国志士来说,易语言的出现绝对是个福音——易语言,让生活更美好!
这不,新近刚用易语言编了一个小程序,那个美啊~~~~~~~~~~~~
是为了方便将Noahweb的整个在线文档(300多个页面)搬到电脑上才写的这个程序,与迅雷等工具的“下载全部链接”不同之处在于:本程序下载的是页面的全部内容,
处理流程如下:
1、手动保存首页,程序自动从中读取所有链接;
2、程序自动依次打开每个链接,并将打开的网页自动保存下来。
问题主要集中在网页的自动保存上,解决之道如下:
1、定时检测是否弹出了“保存网页”对话框,检测用API函数FindWindow来做;
2、若对话框存在,用API函数FindWindowEx查找文件名输入框和保存按钮;
3、用API函数SendMessage发送文件名到输入框,发送鼠标点击到按钮。
值得注意的是:用易语言的API助手导入的API函数定义不一定能用,还应根据实际需要更改参数的数据类型。
完工之后,想对代码做个重构,把一些功能用对象来实现,这时遇到了一个大问题,至今无解:易语言的类构造函数不能传递参数!
程序还有不少问题亟待解决:
1、如何实现根据网址进行解析,这样就用不着手动保存了;
2、如何实现链接地址过滤,避免保存不必要的网页;
3、如何实现网页链接地址自动更改,使它们指向保存的本地文件,从而省去手动修改的麻烦;
4、如何实现嵌套链接网页保存;
5、如何实现弹出对话框时实时处理,而不是靠定时检测这种笨办法;
6、……
源代码见附件。
此程序在XP+IE6平台通过,不同的IE需要修改子窗口的查找。