2006年11月30日 星期四

為 Windows Live Writer 寫個 Plugin 吧

http://richielin-programer.blogspot.com/2006/11/windows-live-writer-plugin.html

Windows Live Writer 還真是個好東西
不且離線寫 Blog 方便好用,連拿來修改以前 Blog 寫的文章也是好用
雖然有點 Bug,但是看在 Beta 的面子上,天秤我還是給它很高的評價thumbs_up

不只如此,連寫個 Plugin 也十分容易
只要有 C#.NET 的基礎,再邊看範例邊上手
大概 10 分鐘就可以寫個簡單的 Plugin 來騙吃騙喝了
下面是我簡單寫下開發的步驟,沒什麼入門的東西
不過倒可以當作寫 Plugin 的入門,繼續看下去...

首先第一步就是用 VS2005 建立 Library 專案
加入參考,Windows Live Writer 目錄下 WindowsLive.Writer.Api.dll
產生一個類別來繼承 SmartContentSource
並加上 WriterPlugin 屬性及 InsertabllContentSource 屬性
WriterPlugin 參數為 id, Plugin 名稱, 圖示檔名
InsertabllContentSource 參數為 在 WLW 中的顯示名稱

using System;
using System.Windows.Forms;
using WindowsLive.Writer.Api;

namespace HelloWorldPlugin
{
[WriterPlugin( "F2210F5F-69EB-4d4c-AFF7-B8A050E9CC72",
"Smart HelloWorld",
ImagePath = "Images.InsertHelloWorld.png")]

[InsertableContentSource( "Smart Hello World" )]
public class SmartHelloWorldPlugin : SmartContentSource
{
}
}

在專案中加入個圖示,並指定為內嵌資源


接下來覆寫幾個函式



  • public override void Initialize(IProperties pluginOptions)
    初始物件,記錄下 pluginOptions 物件
  • public override DialogResult CreateContent(IWin32Window dialogOwner, ISmartContent newContent)
    建立及顯示對話框
    這裡必須產生對話框供使用者設定或輸入相關參數
    並將參數寫到 newContent.Properties 物件裡
    如果想當下一次預設值,也必須將參數寫到 pluginOptions 物件裡
  • public override string GeneratePublishHtml(ISmartContent content, IPublishingContext publishingContext )
    依 content 產生並回傳 HTML 語法
    在 publishingContext 物件會帶一些 Blog 的資訊供參考
  • public override SmartContentEditor CreateEditor(ISmartContentEditorSite contentEditorSite)
    如果使用者在編輯時點到剛才產生的 HTML 區
    必須在 SideBar 區出現視窗供參數設定
    此時必須回傳一個繼承 SmartContentEditor 物件的控制項

最後在設定專案屬性的建置後事件命令列加入以下命令
編譯後的 Library 就會直接被 Copy 到 Windows Live Writer 中
再來執行 Windows Live Writer 就會在 SideBar 看到 Plugin 了

XCOPY /D /Y /R "$(TargetPath)" "C:\Program Files\Windows Live Writer\Plugins\"

簡單覆寫 4 個函式,產生二個視窗
就可以有彈性的增加 Windows Live Writer 功能
這一次 Microsoft 做得還真不錯

加強版的 Alt+Tab 切換視窗

http://richielin-programer.blogspot.com/2006/11/windowsxp-alttab-taskswitchxp.html

Windows 上百年不變的 Alt+Tab 切換視窗
通常只會顯示小圖示及軟體名稱
當同時執行同一套軟體時,按 Alt+Tab 實在是分不出來哪一個是哪一個
介紹這套軟體可以加強 WindowsXP 上的 Alt+Tab 切換視窗
TaskSwitchXP (照片取至官方網站)

按 Alt+Tab 切換視窗會出現目前軟體的預覽內容及圖示文字
方便切換到真正想切換的軟體
該軟體還有許多設定,包含界面、熱鍵、外觀等都有
真想不到簡單的 Alt-Tab 切換視窗還可以玩出這麼多種不同的風格

WindowsXP 上工作列預覽軟體

http://richielin-programer.blogspot.com/2006/11/windowsxp-visual-task-tips.html

在 Windows Vista 上增加了許多的視覺效果
有些只是花拳繡腳,有些還整實用的
就像現在介紹的軟體
讓 WindowsXP 上也可以工作列預覽的效果
將滑鼠移到工作列上,就會出現小視窗來顯示視窗內容
Visual Task Tips (照片取至官方網站)

實際效果不只是炫而已,也非常實用
例如當防毒軟體正在掃描硬碟時,為了不佔空間我們把它縮小到工作列上
但是如何知道軟體已經掃描完成了?
這時只要將滑鼠移到工作列上,出現預覽小視窗顯示掃描的狀態就可以清楚了
滑鼠移開就會自動關閉預覽小視窗
更棒的是出現的小視窗還會即時更新狀態,大約每秒一次吧
不想切換視窗但又想知道縮小軟體的即時狀態,用這軟體還真得滿好用的

快速切換電腦的 IP Address

http://richielin-programer.blogspot.com/2006/11/ip.html

應該有許多人和天秤一樣有這種需求吧
常帶著筆電在家裡和公司兩邊跑,但筆電的網卡通常只有一張
接不同網路線就必須切換不同的 IP
介紹個快速切換電腦的 IP 的軟體
NetSetMan

可以指定六組 IP 的設定,包含 Subnet Mask, Default Gateway, DNS
甚至是 Printer 等

設好之後,以後在工作列上按右鍵會出現選單
直接選擇第幾組設定即可,這時候電腦的 IP 就會馬上切換了

2006年11月28日 星期二

好用的 Windows Live Writer

http://richielin-programer.blogspot.com/2006/11/windows-live-writer.html

Windows Live Writer 是 Microsoft 出的部落格離線編輯軟體
原本以為應該只支援 Windows Live Spaces 上
沒想到卻支援各大 Blog 系統平台
界面簡單好用,十分容易上手
雖然還是在 Beta 版本,但已經可以算是殺手級的軟體了
而且最新版現在已經可以支援 Blogger beta 了,用起來沒什麼問題

天秤才接觸一下子,就覺得這套軟體有幾個功能十分好用

  • 同時支援多個部落格
    像天秤同時編輯二個部落格,有些文章二個部落格都要貼
    就對 Windows Live Writer 讚不絕口
  • 離線編輯
    這原本就是 Windows Live Writer 的基本功
    但是發表的文章也會在 PC 上保留一份
    之後修改或是刪除,只要按 Publish 就會和部落格同步了
    而且也算是另一種備份方式
  • 圖片上傳功能
    這又是另一項讓我驚訝的功能
    每個 Weblog Account 都可以設定圖片上傳的 FTP
    編輯文章時,將圖片由 PC 上硬碟中加入
    當文章發佈時會自動將圖片上傳至指定 FTP 的目錄中
    並且會自動把相關的連結由 PC 路徑修改成 FTP 上圖片的 URL
    因為我有 FTP 空間,又有些螢幕擷取圖片不能上傳到 Flickr 上
    又不想把圖片放在 Blog 的圖片空間,怕到時換 Blog 系統又要搬一次
    所以這功能對我來說就真的是太實用了
    如果你的 Blog 相簿支援 FTP,就可以讓軟體幫你上傳圖片
  • WYSIWYG (所見即所得)
    這也是一大特色,當加入一個 Weblog Account 後
    軟體會自動下載該部落格的 Style,讓你在編輯文章時呈現出來的 Style
    就是和你部落上的 Style 一模一樣
    這時候文章什麼時候該換行,照片可以貼多大都一目瞭然
  • 可以插入 Tag 到文章中
    支援 Technorati, Flickr, del.icio.us 等七個比較知名網站的 Tag 功能
    雖然我還不知道該怎麼應用
  • 可以插入 Windows Live Map 到文章中
    不過不同於其它部落格插入的地圖,這裡是以地圖照片型態插入
    然後提供連結到 Windows Live Map 上
    不過空照的解析度實在太差了
    真希望有人寫個 Google Map, Yahoo Map
    甚至是 UrMap 的 Plugin 來

如果不夠用,它也可有外掛功能
Windows Live Spaces 及 Windows Live Writer Plugins 網站上
目前已經有幾個十分好用 Plugin 開發出來

  • Flickr4Writer
    就是搜尋並插入 Flickr 照片的外掛
    有使用 Flickr 的人必備良藥
  • EmbedVideo: YouTube/Google Video plugin
    想當然,就是可以插入 YouTube/Googll Video 影片到文章的外掛
    對於一些常分享影片的人應該是很實用
    (不過天秤我卻一直 Download 不下來)
  • Live Spaces Emoticon Plugin 
    可以插入 MSN 笑臉到文章中

  • Currently Listening
    可以插入目前你正在聽的音樂在你正在發表的文章中
    讓所有人知道你喜歡的音樂類型
    嗯~ 不怎麼實用,但至少是很有趣的外掛啦

如果不滿意,或是有自己的 Idea
Windows Live Writer 也有 SDK 可以自行開發 Plugin
使用 .NET 及 C# 語言
由於 C# 語言好開發的特性及 Windows Live Writer 的好用
相信不久應該會有一堆有趣、實用的 Plugin 出現吧

相關網站:
Windows Live Writer 開發網誌
http://windowslivewriter.spaces.live.com/
Windows Live Writer 社群
http://groups.msn.com/windowslivewriter/

下載:
Windows Live Writer
http://g.msn.com/8SEENUS030000TBR/WriterMSI
Windows Live SDK
http://g.msn.com/8SEENUS030000TBR/WriterSDK

2006年11月27日 星期一

Blogger beta 的小技巧

http://richielin-programer.blogspot.com/2006/11/blogger-beta.html

這應該算是第二次接觸 Blogger
之前沒有好好研究,也因為 Blogger 太陽春了,所以就到別的部落格落腳
這次 Blogger beta 改版了,也因為一些事情讓我又回到 Blogger 上

對 Blogger 系統還不是太熟,所以只針對一些小地方先動手
[2006/12/14 更新]

相信 Blogger beta 應該還有很多可以修改的地方
有空再來玩玩

結果還是搬家了

http://richielin-programer.blogspot.com/2006/11/blog-post_27.html

在 樂多日誌 (Yam) 寫了一段時間的日誌
結果在昨天想上去寫時發現樂多與天空部落合併了smile_confused
仔細看了一下說明
原本樂多日誌的網址必須修改
也就是說原本樂多的網址 http://blog.yam.com/richielin996
現在變成了 http://rblog.yam.com/richielin996
反而是天空部落的網址變成 blog.webs-tv.net 和 blog.yam.com 都適用
這樣我在別的地方的日誌連結全部失效了
與其如此,不如重新開始

還有一點
原本的日誌我會放上攝影的東西
還有我寫程式的心得和備忘
但是這樣讓我的部落格顯得很亂
一下子是攝影,一下子是程式
所以利用這個機會從 Blogger 重新開始
並將日誌分成二部份
搖擺天秤的觀景窗 http://richielin-photo.blogspot.com/
搖擺天秤的程式開發日誌 http://richielin-programer.blogspot.com/
再找時間把之前文章慢慢搬過來了