[C#]Read Assembly Info from a PE File

筆者在[C#]PE檔案格式簡易介紹與PE檔案的檢測這篇針對PE檔的格式已經做了初步的介紹,這邊接著這個議題下去探討,嘗試從PE檔中讀取一些進階的資訊,像是CPU的版本以及PE檔編譯時所設定的.NET Framework的版本。 ...

November 6, 2013 · Larry Nung

[C#]Set the User Agent Version for the WebBrowser Control

今天再弄WebBrowser Control元件的測試,發現IE9無法運行我寫的WebSocket程式,因此稍微測試了一下HTML5的支援程度,發現用IE開起來可以跑出138的分數,但在WebBrowser Control中只能跑出41分。 ...

November 6, 2013 · Larry Nung

[C#]Set Windows 7 Progress Bar's State

要在Win7設定Progressbar的運行狀態,可能是一般運行狀態,可能是暫停狀態,或是錯誤狀態。 ...

November 6, 2013 · Larry Nung

[C#]The Thread That Raises Process.Exited Is Affected by the Process.SynchronizingObject Property

最近在用Process時才發現自己對於Process類別實在不是很熟,本來以為在主執行緒將Process叫起來後關閉,Process.Exited事件會被導回主執行緒去觸發,後來才發現並不是那麼一回事,這邊以一個簡單的範例來看: ...

November 6, 2013 · Larry Nung

[C#]Use Reflection to Check Whether a Class Has a Default Constructor

昨天在抽空調整一下專案程式碼,用Attribute與反射搭配的機制去做一些載入的動作,讓程式擴充時能專注在新加入的類別就好,程式啟動自行會用反射將該載入的載入。但由於目前尚未把現有的程式改的比較一致,每個類別的建構子不盡相同,因為我預期這些類別應該都要有預設的建構子,不夠的資料應該後續再透過別條路下去取得,所以這邊只先用反射載入含有預設建構子的類別,其它沒有預設建構子的類別就先照本來的路做些特殊處理,待後續再行重構。 ...

November 6, 2013 · Larry Nung

[C#]Use the Existing Info in .picasa.ini for Face Detection

Picasa應該很多人都有聽過、用過Picasa這套看圖軟體,這套看圖軟體功能強大且快速。該軟體裡面有個功能滿好玩的就是它可以對照片做臉部偵測,使用者可以為識別出來的人臉加上標記,後續還會自動偵測可能有該人士存在的圖片,讓整理的動作變得很簡單。 ...

November 6, 2013 · Larry Nung

[Performance][C#]ToString V.S Enum.GetName

這幾天筆者抽空看了一下程式中有Boxing與UnBoxing的地方,因為想要解決程式中列舉部分處理會有Boxing的問題,而注意到了將列舉值直接ToString與Enum.GetName的不同。兩種寫法有著效能上的差異,因此筆者用下面這樣的範例程式測試了一下兩者所需耗費的時間: ...

November 6, 2013 · Larry Nung

[Visual Studio][C#].NET 4.5 New Feature - Caller Information

Caller Information是.NET 4.5的新功能,它能在編譯時為我們提供些額外的資訊給副程式,像是被哪個方法叫用、叫用的方法所在的檔案位置、以及程式碼行數,我們可以用這些額外的資訊提供Log更為詳細的資訊,再也不需要用StackTrace來提供這些資訊了,不僅簡單,在效能上也會因此提升,此外也可以避免實作INotifyPropertyChanged時用字串處理把程式寫的太死,造成後續重構時重新命名有所遺漏,導致整個程式運作不如預期。 ...

November 6, 2013 · Larry Nung

[Visual Studio][C#]Visual Studio Achievements API

筆者在[Visual Studio]Introduce Visual Studio Achievements這篇簡單的介紹了一下Visual Studio的成就系統,但對於API的使用並未著墨,這篇將針對API的部分做個介紹,若有自製些小程式需要成就系統的資料,就可以使用它所提供的API來實現。 ...

November 6, 2013 · Larry Nung

[Web][.NET Resource]Write Simple C# Code Online with compilify.net

compilify.net是一個可以線上撰寫C#程式的網站,使用上十分簡單,網站主要分為三個區塊,左邊是用來做些定義的,右邊是要執行的動作,下方是執行後的結果。實際來看一下網站預設的程式,它在左邊定義區塊定義了一個Person類別,內含有Greet成員方法,右邊執行區塊宣告了一個Person物件並叫用Greet後將結果回傳。 ...

November 6, 2013 · Larry Nung