Windows

什麼是程序句柄?

  • August 13, 2016

什麼是程序句柄,我們可以通過任務瀏覽器中的“句柄計數”屬性了解正在執行的程序嗎?

在此處輸入圖像描述

程序句柄是一個整數值,用於向 Windows 標識程序。Win32 API 將它們稱為 HANDLE;視窗句柄稱為 HWND,模組句柄稱為 HMODULE。

程序內的執行緒具有執行緒句柄,文件和其他資源(例如系統資料庫項)也具有句柄。

您在任務管理器中看到的句柄計數是“程序對象表中的對象句柄數”。實際上,這是該程序已打開的所有句柄的總和。

如果你不釋放你的資源句柄,其他人可能無法訪問它——這就是為什麼你有時不能刪除文件,因為 Windows 聲稱它正在使用中(查看這篇關於句柄洩漏和程序資源管理器的文章)。

此外,各種句柄都有每個程序的限制。 這是一個例子

通常,如果您打開句柄而不關閉它們,則類似於記憶體洩漏。你應該弄清楚發生了什麼並修復它。關於句柄洩漏有一篇很好的CodeProject 文章

引用自:https://serverfault.com/questions/27248