首页 > 代码库 > 学习编写Windows Live Writer插件
学习编写Windows Live Writer插件
参考:http://www.cnblogs.com/liulun/archive/2009/05/27/1491116.html
Live Writer API参考:http://msdn.microsoft.com/en-us/library/aa702864.aspx
获取用户名密码参考:http://www.cnblogs.com/xiaoshatian/archive/2010/09/14/1825561.html
新建一个类库
添加两个关键引用
第一个引用的dll文件在你安装windows live writer的根目录下
名字叫WindowsLive.Writer.Api.dll
添加一个类文件,此文件程序用来处理用户插入的代码
添加一个windows form窗体,如图:
给确定按钮添加的事件为
其中ContentProcessor.Process(this.textBox1.Text);
就是调用的我们上一个类文件中的处理程序
新增一个类文件
其中7c371eef-e350-4aae-af28-91613a9137e3为一个GUID
其他的一些信息是插件在live writer中的信息
函数中第一句是创建一个窗口(我们刚才制作的窗口)
第二句获取我们输入的数据(处理过后的数据)
第三句让live writer知道有东西要插入。
content变量是live writer中的,所以要用ref修饰
都完成后只要把生成的dll文件放在live writer安装目录下Plugins文件夹内就可以了
此文章就是用这个插件写的
贴个图看下
源代码下载:LiveWriterPlugin.rar
另外:
我在我的blog中设置了这样的样式
具体设置方法是,进入你的博客园后台》》》选项》》》config》》》通过CSS定制页面
这样设置主要是不让代码太宽,撑破页面
******************************************************
Windows Live Writer是颇受欢迎的博客客户端,除了支持多种博客服务之外,还具备良好的扩展性,允许第三方开发插件来扩展或补充功能,我也为它开发了两个插件:用来补充Slug的SlugHelper和补充图片Exif信息的ExifInfo。
但你有没有想过,虽然这些第三方插件的确为我们提供了方便,但它们真的值得信赖吗?
最近搬家,没有网络,闲暇时便用“.NET Reflector”来查看Windows Live Writer的内部实现,期望能找到对我开发插件有帮助的API,没想到却发现了令人大吃一惊的东西,Windows Live Writer插件可以轻而易举地窃取你的博客账号和密码!
想知道是怎么做到的吗?只需要随便开发一个插件,添加对“WindowsLive.Writer.BlogClient.dll”的引用和以下的using:
1 | using WindowsLive.Writer.BlogClient; |
在适当的位置添加以下代码:
1 2 3 4 5 6 7 8 9 10 11 | StringBuilder sb = new StringBuilder(); string [] blogIds = BlogSettings.GetBlogIds(); foreach ( string blogId in blogIds) { BlogSettings blogSetting = BlogSettings.ForBlogId(blogId); sb.AppendLine( "blogname: " + blogSetting.BlogName); sb.AppendLine( "homepage: " + blogSetting.HomepageUrl); sb.AppendLine( "username: " + blogSetting.Credentials.Username); sb.AppendLine( "password: " + blogSetting.Credentials.Password); sb.AppendLine( "===============================================" ); } |
执行后查看sb.ToString(),你会看到你添加到Windows Live Writer里的所有博客信息,包括博客名称、主页地址、用户名和密码,可怕之处就在于密码是明文的。
如果插件的作者心怀不轨,他完全可以利用这些内容来控制你的博客。所以在使用第三方插件之前,最好能够确定该插件是值得信赖的。
另外,开源的插件也是个不错的选择,你可以检查插件的代码中是否包含泄露隐私的内容,并自行编译使用。
我开发的SlugHelper和ExifInfo两个插件都是开源项目,欢迎使用。
学习编写Windows Live Writer插件