欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

【誤區(qū)分析】TB-創(chuàng)新互聯(lián)

一、基本原理

專注于為中小企業(yè)提供做網(wǎng)站、成都做網(wǎng)站服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)左權(quán)免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了近千家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。

使用SendMessage函數(shù)發(fā)送TB_BUTTONCOUNT消息到指定窗口,可以檢索工具欄中當(dāng)前按鈕的計(jì)數(shù)。但這個值可能并不是最新的,個數(shù)僅僅是當(dāng)前個數(shù),而且并非是顯示的個數(shù),也非有效按鈕窗口的個數(shù)。

使用SendMessage函數(shù)發(fā)送TB_GETBUTTON消息到指定窗口獲取指針,然后向指定進(jìn)程申請?jiān)L問內(nèi)存,獲取TBBUTTON結(jié)構(gòu)體中dwData字段數(shù)據(jù),可以獲得遠(yuǎn)線程的工具欄窗口中當(dāng)前所有按鈕的句柄、標(biāo)題、進(jìn)程路徑信息。但該信息可能包含舊的內(nèi)容。

任務(wù)欄的通知區(qū)域分為四個部分:用戶提示的通知區(qū)域、系統(tǒng)升級的通知區(qū)域,溢出角通知區(qū)域、DUI彈出式通知區(qū)域(部分圖標(biāo)如:電源電量、音量等的注冊記錄在溢出通知區(qū)域窗口,但是并不是在溢出窗口內(nèi)顯示的,所以單獨(dú)歸類)。通知區(qū)域是外殼處理器Shell控件:ToolBarWindow32.

首先我們需要明白任務(wù)欄的ToolBarWindow(工具欄視圖)的一些特征:

1)除系統(tǒng)升級的通知區(qū)域以外的通知區(qū)域圖標(biāo)不會自動刷新,需要接收到鼠標(biāo)移動消息、模擬點(diǎn)擊消息才會逐個刷新。

2)如果一個窗口多次在通知區(qū)域注冊通知圖標(biāo),即使它是由同一個窗口發(fā)出的,也會被記錄為獨(dú)立的窗口,但他們具有相同的信息,在外殼程序內(nèi)存中相應(yīng)位置按序排列。

二、案例如何發(fā)生?

當(dāng)開發(fā)者嘗試使用如下代碼獲取任務(wù)欄圖標(biāo)個數(shù)時可能得不到準(zhǔn)確的個數(shù):

LRESULT ButtonCount = SendMessage(hWnd, TB_BUTTONCOUNT, 0, 0);// 獲取hWnd窗口的圖標(biāo)個數(shù)

警告:以下談到的案例并不局限于任務(wù)管理器,其他第三方軟件都如此,這和資源管理器外殼Shell的處理邏輯有關(guān)系。

誤區(qū)1:忽略系統(tǒng)升級的通知區(qū)域,盡管這個區(qū)域經(jīng)常沒有顯示,但它位于溢出角按鈕和用戶通知區(qū)之間,當(dāng)有程序首次創(chuàng)建通知區(qū)圖標(biāo)的時候,提供短暫突出顯示的時間,這些圖標(biāo)臨時顯示在該區(qū)域,不在用戶區(qū)和溢出區(qū),當(dāng)超時完成時(最長60秒)這些圖標(biāo)被放入溢出區(qū)(前提是沒有被標(biāo)記為始終顯示)。在超時完成前通知統(tǒng)計(jì)的用戶區(qū)和溢出區(qū)圖標(biāo)數(shù)據(jù)中跳過了這些圖標(biāo)。

誤區(qū)2:忽略重復(fù)注冊的圖標(biāo)窗口,盡管這在我們看來是相當(dāng)荒誕的,但它確實(shí)發(fā)生過,也應(yīng)該引起相關(guān)開發(fā)者的注意。

這張圖片展示了當(dāng)任務(wù)管理器打開時(等待超時完成后記錄的結(jié)果),在使用TB_BUTTONCOUNT獲取個數(shù)時將多次記錄到任務(wù)管理器窗口,顯示為他創(chuàng)建了13個圖標(biāo)按鈕,隨后通過在外殼進(jìn)程內(nèi)存中讀取TBBUTTON結(jié)構(gòu)中的dwData數(shù)據(jù),得到窗口的標(biāo)題、句柄、以及目錄路徑(類名、矩形等其他信息是根據(jù)窗口句柄通過相關(guān)API遍歷枚舉的,不是直接獲得的結(jié)果),不難發(fā)現(xiàn)同樣的句柄有多條記錄,然而我們不需要多余的信息。這是TB類消息得到錯誤結(jié)果的重要原因。

誤區(qū)3:(對于誤區(qū)2而言)任務(wù)管理器等剛剛注冊通知圖標(biāo)的窗口,圖標(biāo)會顯示在系統(tǒng)升級通知區(qū),此時記錄的個數(shù)是真確的(唯一的)。因?yàn)樗灰邮障⒘耍蜁灰瞥揭绯鰠^(qū)。否則他只允許靜默一段時間。

誤區(qū)4:線程異常退出,而沒有注銷相應(yīng)圖標(biāo)。這時候我們把它稱作僵尸圖標(biāo),空有軀殼而沒有靈魂。但是這段內(nèi)存區(qū)域中相關(guān)信息不會被立即清除。導(dǎo)致獲得的計(jì)數(shù)以及句柄都是無效的。

通過檢查窗口的矩形,API調(diào)用返回“Error:1400”無效的窗口句柄即可排除該錯誤帶來的影響。

Notice:請觀察下圖數(shù)據(jù)

再看下圖數(shù)據(jù):

以上結(jié)果發(fā)生在一個已經(jīng)注冊通知圖標(biāo)的程序意外終止時(沒有來得及注銷圖標(biāo)),外殼程序內(nèi)存中不會及時刪除這些內(nèi)容,這些內(nèi)容可能位于錯誤的內(nèi)存位置,訪問這些位置會帶來意外的結(jié)果。即使用戶已經(jīng)刷新了視圖區(qū)域,這些內(nèi)容依然不會被清除,直到重啟資源管理器。

并且對無效的句柄使用GetClassName()返回值為0,但是不會向遍歷時候的字符串指針更新數(shù)據(jù),所以需要注意變量的作用域或者記得及時檢查錯誤原因,比如此時的LastError為1400,以及最后要記得將內(nèi)容重新初始化為{0}。一面這些垃圾數(shù)據(jù)影響用戶體驗(yàn)。(顯然圖中沒有考慮到這些問題)

-----------------------------------------------

希望通過我的分析,能夠給遇到相關(guān)問題的友人一點(diǎn)微薄的解答。文章如果有誤,歡迎各位斧正,謝謝!

轉(zhuǎn)載請注明博客來源:@漣幽516(http://t.csdn.cn/CpBeJ)

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧

文章名稱:【誤區(qū)分析】TB-創(chuàng)新互聯(lián)
標(biāo)題鏈接:http://aaarwkj.com/article6/dihhig.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)、服務(wù)器托管微信小程序、電子商務(wù)面包屑導(dǎo)航、全網(wǎng)營銷推廣

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司
一区二区三区毛片在线看| 午夜毛片免费在线播放| 麻豆成人三级电影在线| 国内一级片内射免费视频观看| 欧美激情一区二区三区蜜桃| 色综合婷婷九月中文字幕| 色综合久久天天射天天干| 亚洲香蕉在线视频免费| 欧美精品成人在线一区| 久久尤物av天堂日日综合| 日本在线有码中文视频| 国产成人色污在线观看| 亚洲香蕉av在线一区二区三区| 亚洲最大色网在线观看| 亚洲成av人一区二区三区| 日韩久久这里只有精品视频| 日韩一区精品视频一区二区| 日日嗨av特一级黄淫片| 色桃子av一区二区三区| 久久精品亚洲夜色国产av| 欧美老熟妇子乱视频在线| 麻豆视传媒官网免费观看| 少妇人妻系列中文在线| 免费黄色一区二区三区| 91欧美日韩中在线视频| 成年人免费在线观看毛片| 国产高清视频成人在线观看 | 人妻猛烈进入中文字幕| av毛片在线观看地址| 精品人妻在线中文字幕| 久久亚洲精品国产精品黑人| 久久久久四虎国产精品| 欧美日韩性生活视频在线 | 亚洲少妇熟女一区二区三区| 国内精品人妻久久毛片| 国产一区二区精品小视频| 国内精品一区二区欧美| 日韩免费视频一区二区三区免费 | 欧美丝袜熟女日韩亚洲| 欧美亚洲综合日韩精品区| 初爱视频教程完整版韩国|