[C#]使用Faker.Net輔助建立假的數據資料

有時候在做些測試時,我們會期望有一定的資料量來做測試,這時我們可能會用程式來產生大量假的資料,而Faker.Net就是可以輔助我們完成這個需求的工具。 ...

November 6, 2013 · 2 min · 717 words · Larry Nung

[C#]使用FindFirstFile、FindNextFile API實做EnumerateFiles

.NET 4.0開始Directory類別新增了EnumerateFiles函式,該函式能提供較有效率的方式找尋檔案,不會等到整個搜尋動作完成才回傳。在.NET 4.0以前我們則可以用FindFirstFile、FindNextFile這幾個API來達到類似的效果。 ...

November 6, 2013 · 1 min · 389 words · Larry Nung

[C#]使用InternetGetConnectedState API偵測目前電腦網路的連線狀態

有時候我們會有需要為程式加入偵測網路連線的能力,也許是當網路不通時秀些提示,或是將某些程式的功能給停用。這時我們可能會傾向採用NetworkChange.NetworkAddressChanged與NetworkChange.NetworkAvailabilityChanged這兩個事件去偵測網路環境是否有所變動,或者用Timer加Ping的方式去偵測網路是否可以外連。上面兩種方式在.NET程式中還算滿常用的方法,但是以筆者的經驗來說NetworkChange在多網卡環境下運作跟期望的可能會有所出入,而就算事件正常觸發也可能需搭配其它方法偵測網路是否是通的,至於Ping的偵測方式,它需要實際的去送封包偵測,不僅需考慮可能會被封鎖,也要考慮封包傳送的額外負擔,如果能直接跟系統詢問連線狀態一定會比較好一點。所以在做類似的功能時使用InternetGetConnectedState API可能也是一個不錯的選擇,這邊隨手將之稍微紀錄一下。 ...

November 6, 2013 · 2 min · 882 words · Larry Nung

[C#]使用Microsoft Translator Soap API實作翻譯功能

要使用Microsoft Translator Soap API實作翻譯功能,首先我們必須要有Bing的開發者ID,可至Bing Developer網站申請。可點選『註冊以使用 Bing 搜尋 API 並建立 AppID』或是透過『建立您的 AppID』開始進行申請。 ...

November 6, 2013 · 4 min · 1996 words · Larry Nung

[C#]使用Mutex實現單一程式執行個體的注意事項

相信大家都知道在.NET程式中若要實現單一程式執行個體,一般來說有幾種方法,像是去判斷是否已經有開啟的Process是相同的程式、用Mutex與Semaphore之類的技術來判斷是否程式正在開啟。但是很多網路上的文章都忽略了在用Mutex實現單一程式執行個體時,其實會有些必須要注意的地方,導致於在實際運用上沒有發揮到該有的效果。 ...

November 6, 2013 · 3 min · 1004 words · Larry Nung

[C#]使用NBug函式庫為程式加上錯誤回報機制

NBug是一開放源碼的函式庫,可輕鬆快速的為應用程式加上錯誤回報機制的,當錯誤發生時NBug能幫我們自動產生開發人員所需的錯誤報告,內含詳細的錯誤內容資訊與MiniDump File,錯誤報告會以壓縮檔的方式儲存在指定位置,沒指定的話通常是存放在當前目錄下。 ...

November 6, 2013 · 4 min · 1533 words · Larry Nung

[C#]使用Reflection檢查指定類別是否含有預設建構子

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

November 6, 2013 · 2 min · 677 words · Larry Nung

[C#]使用SharpShell實現Shell Icon Overlay功能

有在使用DropBox或是SVN之類的軟體的使用者應該都會注意到,這類型的軟體在透過檔案總管瀏覽時,都會透過icon的變化來明確的告知目前的狀態,既炫又清楚。這樣的功能稱做Shell Icon Overlay,在.NET中我們可以透過SharpShell來輕易的實現這樣的功能。 ...

November 6, 2013 · 4 min · 1504 words · Larry Nung

[C#]使用SHEmptyRecycleBin API清除資源回收桶

玩了一下怎樣刪除檔案並送到資源回收桶,就會想到送到資源回收桶後要怎樣刪除,這邊稍微研究並記錄一下。 ...

November 6, 2013 · 1 min · 430 words · Larry Nung

[C#]使用ShowCaret amp; HideCaret控制元件上的插入符號

有時候我們會有需要能精確的控制元件是否顯示插入符號,這時可以使用ShowCaret與HideCaret兩個Win32 API來達成這個目的,這兩個API的宣告方式如下: [DllImport(“user32.dll”)] static extern bool ShowCaret(IntPtr hWnd); ...

November 6, 2013 · 1 min · 379 words · Larry Nung