[C#]使用Windows API Code Pack存取媒體櫃內存放的資料
要用程式存取媒體櫃內存放的資料,我們大概可以有兩種方法,一種是自行解析,一種則是使用包好的函式庫(像是Windows API Code Pack)去作控制。之所以能夠自行解析是因為媒體櫃的資訊是存放在附檔名為.library-ms的XML檔案中。 ...
要用程式存取媒體櫃內存放的資料,我們大概可以有兩種方法,一種是自行解析,一種則是使用包好的函式庫(像是Windows API Code Pack)去作控制。之所以能夠自行解析是因為媒體櫃的資訊是存放在附檔名為.library-ms的XML檔案中。 ...
筆者之前在[C#]使用GetSystemPowerStatus API查看目前電源使用狀態與[C#][VB.NET]使用SystemInformation.PowerStatus查看目前電源使用狀態這兩篇文章中介紹過了如何偵測電源使用狀態,當時年紀小是用Timer定時去Pooling更新狀態,這樣作法是不好的,應該避免使用Pooling,改用系統主動通知的方式下去更新。 要讓系統主動通知電源狀態變更,我們可以很簡單的繫結SystemEvents.PowerModeChanged事件,透過事件處理常式回傳的參數我們可以很容易的判斷出是目前系統是發生了怎樣的電源狀態改變。電源狀態的對應值可參閱PowerModes 列舉型別。 ...
Picasa應該很多人都有聽過、用過Picasa這套看圖軟體,這套看圖軟體功能強大且快速。該軟體裡面有個功能滿好玩的就是它可以對照片做臉部偵測,使用者可以為識別出來的人臉加上標記,後續還會自動偵測可能有該人士存在的圖片,讓整理的動作變得很簡單。 ...
有使用過.NET程式做視窗訊息的接收的應該都會知道,好像沒有比較直接的方法去設定視窗的ClassName。就算去覆寫Form.CreateParams也不太行,若是指定的ClassName沒有註冊過,運行起來會丟出例外。 ...
前陣子花了點時間在為開發中的產品加強除錯的功能,想要讓開發上發生的問題能直接在產品上就一目而然的看到,而不用另行開啟DebugView或是Log來看。簡單地說想要為產品加上類似是Visual Studio的輸出視窗,或者是DebugView類似的功能,能夠很即時的偵測並顯示出系統發出的Debug或是Trace訊息。為了達到這個需求,筆者用內建的TraceListener簡單的試做了一下,這篇隨手紀錄一下。 ...
在.NET程式中開發人員要做壓縮與解壓縮有很多種方法,可以用BCL內建的壓縮類別,或是用 DotNetZip與SharpZipLib之類的第三方元件庫,抑或是使用Windows Shell來做。內建的壓縮方式與第三方元件很多人都做過了介紹,使用上也大概都不是問題,但對於Windows Shell的使用方式可能就比較沒有那麼熟悉,所以這邊筆者稍微簡介一下怎樣用Windows Shell來做Zip檔的壓縮與解壓縮。 ...
要怎樣才能有效的偵測出檔案是被Lock住,這樣的問題在程式開發時開發人員常常會碰到,筆者看到多半的解法都是試圖去開開看檔案,當檔案無法開啟時就視為檔案被Lock住。這樣的做法雖不算錯,但總是不太精確,因為很多情況都有可能造成開檔錯誤,不見得都能很單純的這樣做判斷。 ...
最近在評估一個功能,希望能用Windows最近使用的文件檔案做些對應的處理,這邊不想用監控整個檔案系統的方式,也不想要像防毒軟體一樣Hook,因此想到在Windows中有Recent Items這樣的東西,假設我能取得這邊的資訊,應該也就夠我做些處理了。 ...
筆者最近在做的專案與自己在玩的東西都需要去取出Process的Owner來做些顯示或是判斷,這邊所謂的Owner就是工作管理員中我們所看到的User Name。 ...
最近筆者再嘗試實現類似Chrome的程式架構,程式由多個Process組成並協同運作,因此最先要碰到的課題就是要把別的應用程式Process給內嵌到程式內。 ...