b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

easyicon图标_app图标下载_google search icon(3)

电脑杂谈  发布时间:2017-03-14 08:02:40  来源:网络整理

问题一:验证码问题

编程其实并不是那么一蹴而就,或多或少会遇到一些之前没有想到的问题

其中遇到最大的问题是验证问题。如果大量下载图标(第一次达166个图标)时,向服务器提交下载地址时,它会弹出验证窗口,下面是用webBrowser控件得到的结果。

这是另外一个网页返回的结果

解决:一开始的解决思路是去抓包,获取提交链接和内容,就像其他程序让用户打码一样;后来我就得反正是要打码,还不如让用户直接看到这个页面(当然,这样的界面显示很粗糙,实际上应该去获取这个图标,并将这个图标显示在用户面前),于是用了webBrowser控件;接下来,需要一个输入,然后提交:输入采用了VB中的InputBox,这样更方便,不需要去暂停线程,提交就是用HtmlElement的GetAttribute来获取提交按钮,用InvokeMember方法来执行。

问题二:程序假死问题

下载量过多,程序界面肯定会假死,用户体验十分不好。需要新建线程,但要注意新线程与主线程之间的控件信息交互问题。

解决:下面是用委托来实现向ListBoxAdv添加下载返回的消息的函数。

delegate void SetValueCallback(ListBoxAdv lstA,string log);private void SetPropertyValue(ListBoxAdv lstA,string log){ if (lstA.InvokeRequired) { SetValueCallback d = new SetValueCallback(SetPropertyValue); lstA.Invoke(d, new object[] { lstA,log }); } else { lstA.Items.Add(log); lstA.SetSelected(lstA.Items.Count-1,true); lstA.SelectedIndex=lstA.Items.Count - 1; }}

调用:

SetPropertyValue(lstAdv, "消息……”);

问题三:下载失败问题

并不是所有图标都能正常下载,即使多次反复下载,它容易出现,下载结果只有25字节大小的图标(重复下载也无效),可能是因为网速的原因。

解决:遍历所有25字节的图标,删除后重新下载(当然也需要耗时)。

四、成果展示

主界面

下载的图标

我测试下载了png 32的图标,约8000多个,本地和云盘都有,文件以编号+名称命名,通过编号,我可以再从官网下载到其他需要的图标,通过名称可以搜索到需要的图标。


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-37440-3.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    • 王越
      王越

      甲午海战北洋水师舰也不少

    热点图片
    拼命载入中...