windows desktop
Windows內(nèi)存小結(jié)
摘要: 虛擬內(nèi)存, 物理內(nèi)存,工作集, 頁文件, 堆棧,堆
閱讀全文
posted @
2016-04-07 21:45 Richard Wei 閱讀(3333) |
評論 (1) 編輯
Windows系統(tǒng)機制筆記
摘要: System Mechanisms(interrupt, kernel object, synchronization)
閱讀全文
posted @
2016-03-22 22:48 Richard Wei 閱讀(2199) |
評論 (1) 編輯
GDI VS Dxgi
摘要: Win10, WinRT, Dxgi
閱讀全文
posted @
2016-03-16 22:09 Richard Wei 閱讀(4001) |
評論 (1) 編輯
Windows進程筆記
摘要: Windows進程結(jié)構(gòu)
閱讀全文
posted @
2016-03-16 22:03 Richard Wei 閱讀(2752) |
評論 (0) 編輯
深入解析結(jié)構(gòu)化異常處理(SEH)
摘要: 告訴你Windows結(jié)構(gòu)化異常處理(SEH)技術(shù)的臺前幕后...
閱讀全文
posted @
2015-02-27 21:40 Richard Wei 閱讀(16612) |
評論 (0) 編輯
如何給開源的DUILib支持Accessibility
摘要: 盡管我N次吐槽基于GDI的DirectUI界面庫會隨著XP的淡出而逐漸失去市場, 但是實際工作中還是要經(jīng)常和GDI打交道,外面招聘單位還是有不少Windows客戶端的開發(fā)崗位。 在這"移動互聯(lián)和"Web前端"橫行的"大數(shù)據(jù)"時代,很多同事開始向移動App和大數(shù)據(jù)轉(zhuǎn)型, 盡管這幾年P(guān)C客戶端的開發(fā)人員是只出不進, 但是只要Windows存在一天,我們的工作就還是有價值的..
閱讀全文
posted @
2014-11-15 00:01 Richard Wei 閱讀(8362) |
評論 (7) 編輯
如何在桌面上透明的繪畫
摘要: 桌面透明標注和繪畫實現(xiàn)原理
閱讀全文
posted @
2014-09-22 23:10 Richard Wei 閱讀(6372) |
評論 (3) 編輯
如何檢測資源泄露
摘要: Window上我們常見的資源泄露包括內(nèi)存和對象句柄泄露, 下面討論下對各類泄露的檢測方法。
閱讀全文
posted @
2014-08-27 22:37 Richard Wei 閱讀(3802) |
評論 (0) 編輯
如何基于純GDI實現(xiàn)alpha通道的矢量和文字繪制
摘要: 一個基本的圖形引擎要包括幾個方面的支持:位圖繪制,文字繪制,矢量繪制(如矩形,線條)。
可惜GDI這個20多年前發(fā)明的老古董,對這幾項的繪制, 除了位圖繪制可以通過AlphaBlend支持alpha通道,其他繪制都不支持alpha通道。
閱讀全文
posted @
2014-08-26 00:22 Richard Wei 閱讀(5287) |
評論 (3) 編輯
如何抓取揚聲器的聲音
摘要: 工作中有個需求是關(guān)于抓取揚聲器的聲音, 為什么會有這個需求?
試想我們在共享遠程桌面時,如果能夠把本地桌面應(yīng)用程序的聲音也一起發(fā)給對方, 用戶體驗該是多么棒。
閱讀全文
posted @
2014-08-21 23:34 Richard Wei 閱讀(15043) |
評論 (5) 編輯
如何將Icon轉(zhuǎn)成Bitmap
摘要: 最近工作中有個需求是將Icon轉(zhuǎn)成帶Alpha通道的Bitmap, 雖然網(wǎng)上有不少這方面的文章,但很多都是錯的, 這里記錄下,或許對后來人有用
閱讀全文
posted @
2014-08-21 22:23 Richard Wei 閱讀(5096) |
評論 (0) 編輯
一個exe可執(zhí)行文件的生與死(運行原理)(轉(zhuǎn)載)
摘要: 本文講的的Windows 環(huán)境下exe可執(zhí)行文件的運行原理,這里面涉及的知識很多,需要讀者對Windows操作系統(tǒng)(如注冊表、進程、線程、內(nèi)存管理、PE文件格式等)、Windows編程(本文使用c++語言)等有所了解。
閱讀全文
posted @
2014-04-05 11:48 Richard Wei 閱讀(2487) |
評論 (0) 編輯
從點擊Button到彈出一個MessageBox, 背后發(fā)生了什么
摘要: 簡單總結(jié)下,操作系統(tǒng)通過一層層的封裝,隱藏了太多的東西, 很多看似簡單的行為, 實際上背后都有很復雜層層調(diào)用。理解這些原理,可以讓你的知識達到一定的深度,幫助你更好的解決問題。
閱讀全文
posted @
2014-04-05 00:57 Richard Wei 閱讀(5327) |
評論 (2) 編輯
關(guān)于Windows高DPI的一些簡單總結(jié)
摘要: 如果說以前XP時代我們還有理由不關(guān)注高DPI, 那么在移動設(shè)備時代和大顯示器的高分辨率時代, 我們就沒有理由不關(guān)注高DPI了, 比如Surface Pro的分辨率是1920x1080, 這種情況下如果系統(tǒng)我們不設(shè)置高DPI, 基本上就沒法觸摸和操作了,所以現(xiàn)在普通程序?qū)Ω逥PI的支持已經(jīng)成為趨勢了。
閱讀全文
posted @
2014-02-18 23:12 Richard Wei 閱讀(41919) |
評論 (10) 編輯
Window Ghosting
摘要: 在XP時代我們的程序沒有響應(yīng)后只能通過任務(wù)管理器強制殺掉,但是Vista之后情況變了, 我們?nèi)匀豢梢酝蟿邮ロ憫?yīng)的窗口,甚至可以嘗試最小化和關(guān)閉窗口, 我們把這個特性叫住Window Ghosting。
閱讀全文
posted @
2014-01-08 21:26 Richard Wei 閱讀(3237) |
評論 (3) 編輯
Windows桌面共享中一些常見的抓屏技術(shù)
摘要: 最后簡單總結(jié)下 , 我們可以看到Windows系統(tǒng)上基本沒有一種通用的抓屏技術(shù)可以高效的抓取所有的系統(tǒng)(XP/Win7/Win8), 很大一部原因是操作系統(tǒng)的顯示驅(qū)動模型在從XPDM向WDDM轉(zhuǎn)變, 應(yīng)用層的API也在從GDI向D3D轉(zhuǎn)變 。 相對于Linux的穩(wěn)定, Window的不斷發(fā)展和進步, 對開發(fā)人員究竟是喜是悲?
閱讀全文
posted @
2013-12-01 22:04 Richard Wei 閱讀(38940) |
評論 (16) 編輯
HOOK技術(shù)的一些簡單總結(jié)
摘要: 探討各種Hook技術(shù): SetWindowsHookEx, SetWinEventHook, API Hook, COM Hook
閱讀全文
posted @
2013-10-30 11:03 Richard Wei 閱讀(30250) |
評論 (13) 編輯
關(guān)于Windows窗口框架
摘要: 我們知道Windows的窗口消息處理函數(shù)是C方式, 面向過程的, 所以窗口框架的基本任務(wù)就是將它轉(zhuǎn)成面向?qū)ο蟮姆绞剑?確切的說如何將消息處理函數(shù)第一參數(shù)HWND轉(zhuǎn)成對象指針。
閱讀全文
posted @
2013-09-08 14:47 Richard Wei 閱讀(4405) |
評論 (11) 編輯
如何獲取桌面截圖
摘要: 最近工作 中有個需求是抓取桌面截圖, 這里的桌面是指點了“顯示桌面”之后看到的桌面, 截圖內(nèi)容包括桌面背景和圖標以及任務(wù)欄
閱讀全文
posted @
2013-08-30 20:30 Richard Wei 閱讀(8011) |
評論 (2) 編輯
淺析Windows安全相關(guān)的一些概念
摘要: 記錄一些Windows 安全相關(guān)的概念, 分享自己對Windows安全機制的一些理解。
閱讀全文
posted @
2013-08-25 07:58 Richard Wei 閱讀(10994) |
評論 (3) 編輯
DirectUI中模態(tài)對話框和菜單的原理
摘要: Windows的API封裝了太多細節(jié), 盡管大部分時候我們只要知道如何使用它們,而不用關(guān)心它們的內(nèi)部如何實現(xiàn)。 但是當你寫一些相對底層的東西,比如開發(fā)自己的DirectUI界面庫時, 還是需要真正理解某些API的內(nèi)部實現(xiàn)原理,才能繼續(xù)深入下去
閱讀全文
posted @
2013-04-07 22:19 Richard Wei 閱讀(5207) |
評論 (10) 編輯
Rootkit技術(shù)發(fā)展史(轉(zhuǎn)載)
摘要: “SSDT”(System Service Descriptor Table,系統(tǒng)服務(wù)描述符表) Inline Hook FSD”(File System Driver,文件系統(tǒng)驅(qū)動)
閱讀全文
posted @
2013-01-12 22:32 Richard Wei 閱讀(1467) |
評論 (0) 編輯
理解Windows內(nèi)核模式與用戶模式
摘要: windows程序運行分為內(nèi)核模式和用戶模式,內(nèi)核模式可以訪問所有的內(nèi)存地址空間, 并且可以訪問所有的CPU指令。一般程序運行在用戶模式, 通過系統(tǒng)調(diào)用切換到內(nèi)核模式執(zhí)行系統(tǒng)功能,Windows系統(tǒng)通過這種方式來確保系統(tǒng)的安全和穩(wěn)定。
閱讀全文
posted @
2013-01-12 22:03 Richard Wei 閱讀(8617) |
評論 (0) 編輯
如何讓窗口控件半透明
摘要: 在網(wǎng)上關(guān)于窗口視覺效果,有2個問題被問得最多:
第一個是如何讓窗口邊框有陰影效果?
第二個是如何讓窗口控件有半透明效果?
閱讀全文
posted @
2012-08-23 00:38 Richard Wei 閱讀(7346) |
評論 (4) 編輯
軟件換膚的原理
摘要: 總的來說DirectUI是趨勢,而微軟的WPF代表了DirectUI最先進的技術(shù)方向,換膚對于DirectUI來說非常容易。隨著Win7,Win8 的普及,傳統(tǒng)界面庫的市場會越來越小,一來因為系統(tǒng)本身已經(jīng)很炫了,二來微軟自己的WPF和Xaml技術(shù)基本上已經(jīng)可以實現(xiàn)任何想要的效果。當然只要XP不消亡,傳統(tǒng)的界面庫還是有自己的一席之地。
閱讀全文
posted @
2012-08-21 22:33 Richard Wei 閱讀(6051) |
評論 (2) 編輯
共享個人寫的一個截屏小工具
摘要: 主要特性:
(1)軟件小而高效,使用流暢,設(shè)計人性化
(2)支持截圖區(qū)域的手工選擇和根據(jù)窗口自動識別選擇
(3)支持矩形,圓形,直線,箭頭,畫筆,文本等注釋工具
(4)支持橡皮擦除功能
(5)無限次數(shù)的撤銷和重做
(6)支持鼠標光標的截取
(7)支持鼠標區(qū)域跟蹤和放大
(8)支持各種圖像文件格式的保存和編輯
(9)支持多顯示器
(10)支持換膚和多語言
閱讀全文
posted @
2012-08-21 00:02 Richard Wei 閱讀(7203) |
評論 (19) 編輯
如何學習Windows編程
摘要: 經(jīng)常有初學者詢問如何學習Windows編程?
很多人從MFC開始學習,結(jié)果常常是一頭霧水,知難而退;也有人毅力堅強,熬過了MFC的陣痛期,最后卻是知其然而不知其所以然,并且思維被限制在MFC的框架之中,遇到稍微有點規(guī)模的程序就無從下手了。
閱讀全文
posted @
2012-08-15 13:37 Richard Wei 閱讀(7588) |
評論 (5) 編輯
如何減小Exe, DLL 的大小
摘要: 運行庫,數(shù)據(jù)節(jié), 代碼節(jié)
閱讀全文
posted @
2012-07-07 15:17 Richard Wei 閱讀(5501) |
評論 (1) 編輯
遠程線程入門
摘要: 遠程線程作為一項"合法"的代碼注入技術(shù),在windows上被大量使用, 它的本質(zhì)就是把一塊可執(zhí)行代碼寫入到對方進程,然后讓其起運行。
一般它的實現(xiàn)過程是這樣的, 通過VirtualAllocEx在目標進程分配內(nèi)存空間,然后通過WriteProcessMemory將我們的可執(zhí)行代碼寫入到目標進程,最后通過CreateRemoteThread讓我們的可執(zhí)行代碼在目標進稱里運行起來。
閱讀全文
posted @
2012-06-20 15:38 Richard Wei 閱讀(4003) |
評論 (5) 編輯
QQ截圖時窗口自動識別的原理
摘要: 新版的QQ在截圖時加入了窗口自動識別的功能,能根據(jù)鼠標的位置自動畫出下面窗口的輪廓。今天有人在論壇上問起這個問題,下面我們來探討這個功能的實現(xiàn)原理。
閱讀全文
posted @
2012-05-06 21:34 Richard Wei 閱讀(12272) |
評論 (9) 編輯
桌面上嵌入窗口(桌面日歷)原理探索
摘要: 今天在QQ群里有人問怎樣實現(xiàn)將自己的窗口嵌入桌面,讓它和桌面融為一體,就像很多桌面日歷軟件那樣。
閱讀全文
posted @
2012-05-03 22:07 Richard Wei 閱讀(8633) |
評論 (8) 編輯