2016-2022 All Rights Reserved.平安財經(jīng)網(wǎng).復制必究 聯(lián)系QQ 備案號:
本站除標明“本站原創(chuàng)”外所有信息均轉(zhuǎn)載自互聯(lián)網(wǎng) 版權(quán)歸原作者所有。
郵箱:toplearningteam#gmail.com (請將#換成@)
微軟為一個名為``G''的奇怪應(yīng)用提供了解釋,該應(yīng)用由于某種原因一直在阻止Windows 10用戶關(guān)閉其PC。
神秘的G關(guān)閉阻止程序已引起Windows 10用戶關(guān)注,已有一年多的時間了??吹紾錯誤消息后,有些人感到困惑,但是隨后的防病毒掃描并未發(fā)現(xiàn)任何惡意軟件。此外,它沒有顯示該應(yīng)用程序的.exe名稱。
微軟在10月的20H1分支的Windows 10預覽版錯誤修復列表中部分解釋了神秘的G應(yīng)用程序,該版本將于明年發(fā)布。
微軟表示,它調(diào)查了用戶報告,發(fā)現(xiàn)了問題并在20H1修復了該問題。它不是由惡意軟件引起,而是由Windows如何處理GDI +(一種最初為Windows 98編寫的圖形組件)引起的奇怪現(xiàn)象引起的。GDI 代表Windows圖形設(shè)備接口。
“我們調(diào)查并發(fā)現(xiàn)了一個問題,其中與GDI +相關(guān)的窗口僅被引用為'G'。我們已修復此問題,因此,今后,它們將被命名為'GDI + Window(
但是鑒于對G應(yīng)用程序的投訴數(shù)量眾多,微軟決定向已經(jīng)在Windows上工作了20多年的微軟資深人士Raymond Chen提供更詳細的解釋。
根據(jù)Chen的說法,G僅在Windows中出現(xiàn)是因為一個錯誤將Unicode文本誤解為ANSI,通常僅將其顯示為應(yīng)用程序的第一個字符。
“如果將Unicode消息傳遞給DefWindowProcA,那么您會發(fā)現(xiàn)很多字符串的第一個字符都會被截斷,Chen解釋說。
編寫GDI +庫以支持Windows 98,而Windows 98對Unicode的支持有限。在隨后的清理過程中,GDI +團隊將GDI +重新編譯為Unicode組件而不是ANSI組件。
“除了通知窗口過程包含對DefWindowProcA的顯式調(diào)用。大多數(shù)字符集不匹配將由于類型不匹配而被編譯器捕獲。但是DefWindowProc中的字符集相關(guān)性未編碼在參數(shù)類型中。它隱式包含在您的方式中收到消息。編譯器無法檢測到這種不匹配。” Chen解釋說。
“這種不匹配也無法通過測試檢測到,因為通知窗口不執(zhí)行任何文本處理。該窗口的標題從'GDI + Hook Window'截斷為簡單的'G',但是該標題沒有用于任何東西,因此該錯誤無關(guān)緊要。窗口標題永遠不會顯示給用戶。
那么,為什么要阻止某些Windows計算機關(guān)閉呢?Chen表示,這與“ 阻止的關(guān)機解析器”屏幕有關(guān)。
“當程序阻止您退出或關(guān)閉時,Windows會查找屬于該程序的可見窗口,并使用該窗口在阻止關(guān)閉解析器(BSDR)屏幕中表示該窗口。但是,如果該程序沒有可見窗口,則BSDR將使用屬于該程序的任何窗口,無論該窗口是否可見,有時選擇的不可見窗口是名為“ G”的窗口。
“這就是為什么您最終得到一條消息的原因,該消息牽涉到一個名為'G'的神秘程序,該程序阻止了您關(guān)機。”
2016-2022 All Rights Reserved.平安財經(jīng)網(wǎng).復制必究 聯(lián)系QQ 備案號:
本站除標明“本站原創(chuàng)”外所有信息均轉(zhuǎn)載自互聯(lián)網(wǎng) 版權(quán)歸原作者所有。
郵箱:toplearningteam#gmail.com (請將#換成@)