1. 程式人生 > >【win32】高仿QQ截圖

【win32】高仿QQ截圖

QQ截圖大家都用過吧,從體驗上來說是一個非常不錯的軟體,它只有200多kb,非常小巧,敢肯定應該是基於原生window api開發的,沒用任何第三方的東西,接下來我想高度仿做一個這樣的軟體

技術難點分析:

1.截圖中所使用的可調整矩形區域的控制元件,在mfc中有CRectTracker這樣的控制元件,我們從vs安裝目錄下取得原始碼後,可以製作一個win32上所使用的控制元件。

2.在畫圖過程中根據WM_MOUSEMOVE處理訊息時有一個大坑,滑鼠移動所產生的點會被放入訊息佇列中,然而訊息佇列中的訊息傳送出去是一個時鐘任務,每隔10ms處理一個訊息,這就有問題了,在畫圖的時候滑鼠移動速度慢看不出來什麼,但是滑鼠移動速度一旦很快的時候,你會發現畫圖的動作跟不上滑鼠的動作,這來需要有一個專門的演算法,來補上這些漏掉的點【程式碼中未給出】

3.使用雙快取技術,解決繪圖過程中的閃爍問題,有統一的處理方法,這個很簡單。

4.雙緩衝也是有bug的,也是這個程式的一個缺陷,未解決,bug出現後,這個東西就不想在繼續下去了,因為我真的解決不了這個問題,不知道什麼地方出錯了,導致在截圖區域移動一段時候後,突然背景就沒了,分析了好久也不知道是什麼原因導致的,希望有了解的同學,幫忙給我點提示。。。

最終成品效果展示:


原始碼下載:

http://download.csdn.net/detail/cc_want/9801125

github地址:

https://github.com/CCwant/SnapShot