标签: WinForm

实现带图片迁移WordPress博客

本博客现已从新浪SAE迁出,记录一下带图片迁出的实现方式。 首先应当去后台导出所有内容: 下载后得到的是WordPress eXtended RSS文件,扩展名是xml。 然后去SAE的后台把源码全下载下来。 由于SAE的WordPress好像是修改版的,我索性从官网下了个新版的,上面下载到的源码里我只是用以导入主题、样式、插件。 然后需要编码下载一下原博客中的图片,这里只要写一个简单的爬虫,爬遍所有文章,取得其中的图片就可以了。 我是用.Net Winform程序实现的: 图上的两条正则表达式: http://skyd.sinaapp.com/archives/\d+ http://skyd-wordpress.stor.sinaapp.com.+?(png|jpg|jpeg|gif|bmp) 注意:我的文章URL是以数字命名的,你的如果不是就自己改改这里的表达式。 主要代码: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using Sy...

更多

Visual Studio 2013 灵异的窗体设计器显示BUG

首先贴出我的Visual Studio版本: 在上文通过NuGet控制台在解决方案中的一个WinForm项目中安装了两个程序包之后,编写了一些代码,然后发现窗体设计器不能用了,提示: 文件中的类都不能进行设计,因此未能为该文件显示设计器 非常操蛋的是此时编译和运行都正常,而新建Form也是同样情况,无法设计,无论怎么清理、编译、重新编译、重新打开解决方案、重新打开程序、清理内存都无解,真塌妈神了。 要说还有什么蹊跷之处,那就是部分代码中的智能感知和代码提示、代码着色失效了,但我搞不明白为什么这是局部失效,事实上差不多只有一个方法内的一部分类型的代码失效了。 网上搜罗了一下各种类似错误的解决方法,都不适用。 这种操蛋情况完全无法用常理解释了,我尝试反向操作: 注释掉新增的代码并重新编译——没用 卸载掉一个NuGet程序包并重新编译——没用 再卸载掉另一个NuGet程序包并重新编译——好了! 设计器复活了! 卧槽,这是dll的事!?不得而知 接着再尝试正向操作,看看问题出在哪一环节: 安装一个NuGet程序包并重新编译——没事 安装另一个NuGet程序包并重新编译——没事 取消注释新增的代...

更多

WebBrowser抓图示例——截取网页上的验证码图片

引言 最近和一位朋友探讨获取WebBrowser访问的网页中验证图片的方法,起先想到的就是通过WebClient直接去下载当前页面中引用的验证码图片,但继而想到这会涉及一些问题:一是验证码可能会在每次请求时都发生变化,二是将WebClient与WebBrowser的Cookies甚至Session关联起来是件很难的事。 而后就想到了可以放弃WebBrowser,始终使用WebRequest进行较为底层的访问,以避免多次获取验证码产生变化导致不一致的情况,不过这种办法操作起来还是比较复杂的。 然后又想到这种变通的方法——抓图。只需要直接通过WebBrowser截图,并将验证码以外的部分裁剪掉,就可以了。   思路 首先要分析一下那位朋友要获取的验证图片元素特征: 网址:http://www.jcard.cn/Charge/UCardDirectCharge.aspx?category=AAWYVVWYKV&product=AAWYVVWYKV010CV   这里很简单,我们只要找到src属性为“RandomImage.asp...

更多

WebBrowser控件使用技巧分享

  在发布“淘宝登货员”时发现不少朋友对WebBrowser控件比较感兴趣,故在此分享一下使用心得。 首先分享一个WebBrowser的扩展类(此类所需的dll将在文章末尾提供下载),大家最好都使用这个类来替代.Net框架中的WebBrowser类,它提供了两个扩展功能: 1.屏蔽错误脚本提示。修正了WebBrowser控件本身屏蔽错误不全的问题,由启明提出,原文:http://www.cnblogs.com/hobe/archive/2007/01/14/619906.html 2.扩展NewWindow事件。修正了WebBrowser控件本身的NewWindow事件不提供新窗口Url的问题,通过新增的BeforeNewWindow事件予以支持,由佳文转载并整理,原文:http://www.cnblogs.com/yjwgood/archive/2009/02/09/1386789.html 整合后的代码如下: public class ExWebBrowser : System.Windows.Forms.WebBrowser {  &n...

更多