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

淺談無效化一個空窗口的后果

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

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

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

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

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

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

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

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

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

總結

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

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

2023-07-10 07:17:29

無效化空窗口

2009-07-22 17:15:04

C#實現

2016-07-04 09:57:31

華為

2010-03-16 17:07:51

云計算

2010-05-26 15:18:28

桌面虛擬化

2009-02-06 17:39:16

2013-11-18 14:00:09

2023-12-18 08:23:12

CSI插件Kubernetes

2009-09-01 16:14:06

C#窗口抖動

2009-06-26 15:48:23

Windows Mob

2025-03-06 08:21:02

判空entity對象

2023-07-10 07:58:45

2018-12-17 09:10:52

機器學習TensorFlow容器

2011-07-27 18:30:58

IT服務管理

2011-07-20 10:02:01

Xcode cocoa 窗口

2023-12-10 12:43:30

Linux系統命令

2016-09-26 17:26:20

2021-09-08 10:05:17

服務器架構數據

2024-06-28 08:28:43

反序列化filterJson

2023-05-29 13:03:54

GPUWebWebGPU
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品区二区三区日本 | 这里精品| 亚洲不卡在线观看 | 久久久精彩视频 | 午夜免费影视 | 8x国产精品视频一区二区 | 在线一区观看 | 国产精品久久久久一区二区三区 | 黄网站免费在线 | 99久久影院 | 精品国产一区二区 | 久久久国产亚洲精品 | 视频一区二区在线观看 | 国产一区免费 | 免费视频一区二区 | 成年免费大片黄在线观看岛国 | 久久成| 天堂av中文| 日韩欧美在线播放 | 久久91精品国产一区二区三区 | 91n成人| 国产精品中文在线 | 国产精品久久 | 精品一区二区三区免费毛片 | 欧美一区二 | 精品福利在线 | 51ⅴ精品国产91久久久久久 | 作爱视频免费观看 | 国内精品久久久久久影视8 最新黄色在线观看 | 日本中文字幕日韩精品免费 | 日韩欧美国产精品综合嫩v 一区中文字幕 | av一区二区三区四区 | 久久99精品久久久久久 | 在线观看亚洲欧美 | 黄色网址在线免费播放 | 久久精品视频在线观看 | av日韩高清 | 亚洲性视频| 久久久久久久久久久久一区二区 | 国产网站在线播放 | 精品美女视频在线观看免费软件 |