成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

淺談無效化一個空窗口的后果,你學會了嗎?

開發 前端
如果你將 NULL 作為窗口句柄傳遞給 InvalidateRect 函數,則將其視為與早期版本的 Windows 兼容的特殊情況:它使桌面上的所有窗口失效并重新繪制它們。

有時候,你可能會注意到這樣一個現象:桌面上的所有窗口都刷新了自身并產生了閃爍。
導致這個現象的原因之一是一個所謂的空句柄窗口 Bug。

如果你研究過 Win32 SDK 編程,則你應該比較熟悉這個函數:InvalidateRect。
調用這個函數可以通知窗口管理器:某個窗口的內容發生了變化,需要重新繪制了。在這個函數中,你還可以傳入一個矩形坐標來表明你希望將窗口上的哪個區域標記為無效。

這通常是在窗口中渲染的數據的狀態發生了變化,并且你希望窗口使用新數據重新繪制時完成的。

但是,如果你將 NULL 作為窗口句柄傳遞給 InvalidateRect 函數,則將其視為與早期版本的 Windows 兼容的特殊情況:它使桌面上的所有窗口失效并重新繪制它們。

因此,如果你嘗試使窗口無效,但錯誤檢查或計時錯誤并最終錯誤地傳遞了NULL,則結果將是整個屏幕閃爍。

更奇怪的是,將 NULL 作為第一個參數 ValidateRect 傳遞具有使所有窗口無效的相同行為。(是的,它是“有效化”功能,但它卻執行的是無效化)。這個行為也是出于相同的兼容性原因考慮。

這是另一個程序如何依賴錯誤或未文檔化行為的例子,在這種情況下,由于沒有嚴格的參數驗證,早期版本的 Windows 處理 NULL 參數的特殊方式。

修改窗口管理器中的幾乎任何內容都增加了很有可能會有許多程序依賴于舊行為,也許完全是偶然的,破壞這些程序意味著大公司的憤怒電話,因為他們的工廠控制軟件停止了工作。那么,最好還是不要亂動這些古老的代碼為妙。

總結

請立即全文搜索你的代碼中的所有 InvalidateRect 調用,看看第一個參數是否為 NULL。
反正我等會就會去這樣做。感謝作者給我解答了一個窗口閃爍的大謎團。

責任編輯:武曉燕 來源: 今日頭條
相關推薦

2023-07-14 07:36:46

無效化窗口函數

2023-01-10 08:43:15

定義DDD架構

2024-02-28 09:07:58

鏈路聚合模式

2022-04-29 08:55:43

前端開發規范

2021-10-04 09:29:41

對象池線程池

2023-09-19 08:03:50

rebase?merge

2023-03-26 22:02:53

APMPR監控

2024-06-19 09:47:21

2024-06-21 08:15:25

2023-04-27 08:42:50

效果

2023-01-13 16:46:38

CRM系統建設

2022-11-03 08:16:33

MySQL·窗口函數

2022-02-08 09:09:45

智能指針C++

2024-04-01 08:13:59

排行榜MySQL持久化

2024-05-30 09:43:00

2022-07-08 09:27:48

CSSIFC模型

2024-01-19 08:25:38

死鎖Java通信

2024-02-04 00:00:00

Effect數據組件

2023-07-26 13:11:21

ChatGPT平臺工具

2024-02-02 11:03:11

React數據Ref
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 91精品在线播放 | 国产在线精品一区二区三区 | 免费同性女女aaa免费网站 | 国产精品久久久久久久一区探花 | 在线视频一区二区三区 | 中文字幕在线观看 | 亚洲一区二区三区四区五区中文 | 日韩精品在线视频免费观看 | 亚洲在线一区二区 | 亚洲国产精品久久久 | 精品国产一区二区在线 | 全免费a级毛片免费看视频免 | 午夜精品一区二区三区免费视频 | 真人女人一级毛片免费播放 | 在线中文av| 亚洲一区亚洲二区 | 欧美成人免费在线视频 | 欧州一区二区三区 | 日韩1区2区 | 欧美一区二区三区一在线观看 | 亚洲一区二区在线免费观看 | 国产高清一区二区 | 欧美欧美欧美 | 亚洲淫视频 | 国产一区二区三区四区五区加勒比 | 久久中文字幕一区 | 免费成人高清在线视频 | 一区二区在线不卡 | 天天色天天色 | 国产精品免费在线 | 一级毛片视频在线观看 | 午夜黄色影院 | 在线精品一区二区 | 99riav国产一区二区三区 | 欧美一级黄带 | 91xxx在线观看 | jizz在线看片 | 男女网站免费观看 | avmans最新导航地址 | 日韩亚洲欧美一区 | 久久精品久久久 |