漫漫開發路
說說 HWND_TOP 和 HWND_TOPMOST 的區別
初看上去,HWND_TOP 和 HWND_TOPMOST 有點類似,但是實際上在調用 DeferWindowPos 或者 SetWindowPos時,它們之間的差別還挺大。在同級窗口的維護機制中,有一個概念叫做 Z 序 (Z-order) 。
一個進程只能最多創建2000個線程嗎?
我經常聽到有人說,為什麼不能創建一個包含2000個線程的進程。原因不是Windows中固有的任何特定限制。相反,程式設計師沒有考慮每個線程使用的地址空間量。線程由內核模式下的一些內存(內核堆棧和對象管理)和用戶模式下的一些內存(線程環境塊、線程本地存儲等)及其堆棧組成。
請勿使用PostMessage來模擬鍵盤輸入
有些人希望通過向窗口的輸入消息隊列發送鍵盤消息,來實現鍵盤的模擬。從很多方面來說,這不大靠譜,為何?首先,鍵盤輸入比那些印在英文鍵盤上的字母要複雜得多。帶有重音符號的語言有死鍵(Dead Key),遠東語言有各種輸入法編輯器,我不知道複雜的腳本語言如何處理輸入。
如何查詢任務欄的屬性
有時候,有些人需要查詢任務欄的屬性。對此,我有些不太明白為什麼。你應該繼續你的生活,讓任務欄也繼續它的生活。畢竟,正如我們上次討論的那樣,作業系統中甚至可能沒有任務欄。
消失的線程消息
在上一篇文章中,我們介紹到,模態消息循環會吃掉線程消息。今天的文章中,我們將會演示這個場景,並在將來的文章中嘗試修復這個問題。還是基於我們的例子程序,然後做一些修改,如下圖所示:試著運行這個修改後的例子程序,你會發現,它會每隔2秒鐘發出蜂鳴聲,至少大部分時間它是這樣的。
從文件資源管理器中隱藏文件
在默認情況下,資源管理器不會顯示擁有FILE_ATTRIBUTE_HIDDEN屬性的文件,因為有人特意隱藏了這些文件。如果你希望顯示這些文件,則可以在資源管理器的選項設置中勾選「顯示隱藏的文件和文件夾」來顯示它們。
以其他組件為代價的性能提升不是好提升
系統設計者的目標是:讓整個系統運行得更快,同時在各個應用程式的運行速度上取得一定的平衡。另一方面,應用程式往往對性能抱有自私的看法:」我會盡一切可能讓自己跑得更快。
LoadLibraryEx(DONT_RESOLVE_DLL_REFERENCES)的缺陷
如果你認真瞧過LoadLibraryEx函數的文檔,就會發現它有這樣一個標誌DONT_RESOLVE_DLL_REFERENCES。
新功能速遞:Visual Studio Code中的C++調試
距離我們上一篇關於VS Code中C++開發的博客文章已經過去了一陣子了,我們一直在努力開發新功能和對現有Bug進行修復,今天我很高興地向大家介紹VS Code中最新的C++調試器改進,包括,對Apple M1晶片的支持,數據斷點和新的運行/調試按鈕。
使用WMI來獲取系統信息
WMI,是Windows Management Instrumentation的英文縮寫。它是一個用來讀寫系統配置信息的接口,另外它還支持腳本化語言訪問。有了這個玩意,你就可以不必專注細節,將節省下來的時間用來享受生活,我看,挺好。