Wednesday, May 16, 2007

因為 Servant Salamander 過期了,加上它不支援 Unicode,所以打算用 C# 寫一個來替代它。 一開始用 ListView 元件,結果遇到 ListView 元件不支援字型的縮放,格線永遠是那麼大。失敗。改用 DataGridView 就好了。 其他的功能倒是還蠻好實做出來的。不過,現在遇到 Shell 相關的部份倒是蠻麻煩的。目前想要去抓每個檔案的 Context Menu,結果就遇到 COM。COM 是還好,但是 C# 對 COM 的支援實在是有點跛腳,還得自己弄個類似 IDL 的東西,然後透過 Windows Native API 取得 COM Object,如果只是這樣就算了,問題是 Windows API 回傳的是一個 pointer,C# 不允許我用 pointer 啊,所以抓到的 pointer 還得轉成一個 Class Object....,有點拿石頭砸自己的腳的味道。之前想用 C# 寫 DirectShow Application,也是遇到相關問題,結果就放棄了,想不到還會遇到。 這樣跟用 Java 寫有什麼兩樣....而且要執行我的程式還得灌 .Net Framework 2.0.....。

No comments:

codeblock