導航:首頁 > 語言文字 > 語文中的句柄是什麼

語文中的句柄是什麼

發布時間:2022-05-09 17:53:53

A. 什麼是句柄為什麼要獲得它

句柄可以理解成一個對象的代言人,句柄是對對象起管理作用的。有的對象訪問和操作對象都通過句柄,句柄就是那個對象的柄

B. 什麼是句柄有什麼用

所謂句柄實際上是一個數據,是一個Long (整長型)的數據。

句柄是WONDOWS用來標識被應用程序所建立或使用的對象的唯一整數,WINDOWS使用各種各樣的句柄標識諸如應用程序實例,窗口,控制,點陣圖,GDI對象等等。WINDOWS句柄有點象C語言中的文件句柄。

從上面的定義中的我們可以看到,句柄是一個標識符,是拿來標識對象或者項目的,它就象我們的姓名一樣,每個人都會有一個,不同的人的姓名不一樣,但是,也可能有一個名字和你一樣的人。從數據類型上來看它只是一個16位的無符號整數。應用程序幾乎總是通過調用一個WINDOWS函數來獲得一個句柄,之後其他的WINDOWS函數就可以使用該句柄,以引用相應的對象。

如果想更透徹一點地認識句柄,我可以告訴大家,句柄是一種指向指針的指針。我們知道,所謂指針是一種內存地址。應用程序啟動後,組成這個程序的各對象是住留在內存的。如果簡單地理解,似乎我們只要獲知這個內存的首地址,那麼就可以隨時用這個地址訪問對象。但是,如果您真的這樣認為,那麼您就大錯特錯了。我們知道,Windows是一個以虛擬內存為基礎的操作系統。在這種系統環境下,Windows內存管理器經常在內存中來回移動對象,依此來滿足各種應用程序的內存需要。對象被移動意味著它的地址變化了。如果地址總是如此變化,我們該到哪裡去找該對象呢?

為了解決這個問題,Windows操作系統為各應用程序騰出一些內存儲地址,用來專門登記各應用對象在內存中的地址變化,而這個地址(存儲單元的位置)本身是不變的。Windows內存管理器在移動對象在內存中的位置後,把對象新的地址告知這個句柄地址來保存。這樣我們只需記住這個句柄地址就可以間接地知道對象具體在內存中的哪個位置。這個地址是在對象裝載(Load)時由系統分配給的,當系統卸載時(Unload)又釋放給系統。

句柄地址(穩定)→記載著對象在內存中的地址————→對象在內存中的地址(不穩定)→實際對象

本質:WINDOWS程序中並不是用物理地址來標識一個內存塊,文件,任務或動態裝入模塊的,相反的,WINDOWS API給這些項目分配確定的句柄,並將句柄返回給應用程序,然後通過句柄來進行操作。

但是必須注意的是程序每次從新啟動,系統不能保證分配給這個程序的句柄還是原來的那個句柄,而且絕大多數情況的確不一樣的。假如我們把進入電影院看電影看成是一個應用程序的啟動運行,那麼系統給應用程序分配的句柄總是不一樣,這和每次電影院售給我們的門票總是不同的一個座位是一樣的道理。

C. 什麼是句柄

句柄,一個句柄是指使用的一個唯一的整數值,是指一個四位元組長的數值,用於標志應用程序中的不同對象和同類對象中的不同的實例,諸如,一個窗口,控制項或者文件等,應用程序能夠通過句柄訪問相應的對象的信息。

D. 什麼是句柄

句柄就是個數字,一般和當前系統下的整數的位數一樣,比如32bit系統下就是4個位元組。

這個數字是一個對象的唯一標示,和對象一一對應。

這個對象可以是一個塊內存,一個資源,或者一個服務的context(如 socket,thread)等等。

這個數字的來源可以有很多中,只要能保證和它代表的對象保持唯一對應就可以,比如可以用內存地址,也可以用句柄表的序號,或者乾脆用一個自增ID,再或者用以上的值去異或一個常數。

(4)語文中的句柄是什麼擴展閱讀:

windows 之所以要設立句柄,根本上源於內存管理機制的問題—虛擬地址,簡而言之數據的地址需要變動,變動以後就需要有人來記錄管理變動,(就好像戶籍管理一樣),因此系統用句柄來記載數據地址的變更。

傳統上操作系統內核和系統服務API都是 C 語言介面的,但是其內部設計理念上又是OO的,所以有對象概念卻沒有對應的語言語法支持。

句柄的作用就是在 C 語言環境下代替 C++ 的對象指針來用的,創建句柄就是構造,銷毀句柄就是析構,用句柄調用函數相當於傳入this指針。

如果有系統API是 C++ 介面的,那麼就沒有句柄了,而是某個介面指針,IXXXPtr之類的,比如Windows的com ptr。

E. 句柄是什麼

句柄就是一個序號。。用於管理內核對象的,比如你打開一個文件,就建立一個文件內核對象,這個內核對象就是一塊內存結構,裡面有文件路徑,文件大小,當前文件指針等等信息。系統裡面會打開很多的文件,就有很多很多的內核對象,這時候就建立一個句柄表的東西。表中每一個元素,都是一個內核對象的起始地址,然後給每一個對象對應一個序號。 這個序號就是我們說的句柄。

//句柄表類似於這樣的結構,那個序號就是句柄了
-----------------------------------
0 第一個內核對象的地址
1 第二個內核對象的地址
2 第三個內核對象的地址
-------------------------------------

一定要注意它是序號,不是內核對象。

F. 句柄什麼意思

句柄有兩種意思,其中第一種是指程序設計,第二種是指Windows編程。

句柄實際上是一個數據,是一個Long (整長型)的數據。

句柄是WONDOWS用來標識被應用程序所建立或使用的對象的唯一整數,WINDOWS使用各種各樣的句柄標識諸如應用程序實例,窗口,控制,點陣圖,GDI對象等等。

WINDOWS句柄有點象C語言中的文件句柄。

從上面的定義中的我們可以看到,句柄是一個標識符,是拿來標識對象或者項目的,它就象我們的姓名一樣,每個人都會有一個,不同的人的姓名不一樣,但是,也可能有一個名字和你一樣的人。

從數據類型上來看它只是一個16位的無符號整數。應用程序幾乎總是通過調用一個WINDOWS函數來獲得一個句柄,之後其他的WINDOWS函數就可以使用該句柄,以引用相應的對象。

(6)語文中的句柄是什麼擴展閱讀:

句柄的具體作用:

Windows是一個以虛擬內存為基礎的操作系統。在這種系統下,Windows內存管理器經常在內存中來回移動對象,依此來滿足各種應用程序的內存需要。對象被移動意味著它的地址變化了。

地址總是如此變化 ,為了尋找到對象,Windows操作系統為各應用程序騰出一些內存儲地址,用來專門登記各應用對象在內存中的地址變化,而這個地址(存儲單元的位置)本身是不變的。

Windows內存管理器在移動對象在內存中的位置後,把對象新的地址告知這個句柄地址來保存。

這樣我們只需記住這個句柄地址就可以間接地知道對象具體在內存中的哪個位置。這個地址是在對象裝載(Load)時由系統分配給的,當系統卸載時(Unload)又釋放給系統。

G. 句柄是什麼意思

句柄(handle),有兩種解釋

1,句柄是一種特殊的智能指針。當一個應用程序要引用其他系統(如資料庫、操作系統)所管理的內存塊或對象時,就要使用句柄。

2,整個Windows編程的基礎。一個句柄是指使用的一個唯一的整數值,即一個4位元組長的數值,來標識應用程序中的不同對象和同類中的不同的實例,諸如,一個窗口,按鈕,圖標,滾動條,輸出設備,控制項或者文件等。



(7)語文中的句柄是什麼擴展閱讀

注意事項:

1,內核對象句柄,是用來標識某個內核對象的一個ID同一個對象的該id對於每個進程是不同的,具體如何實現是ms不公開的演算法,以下是一個近似的,可能的演算法。

2,進程創建時,windows系統為進程構造了一個句柄表。

3,當該進程希望獲得一個內核對象句柄或者創建一個內核對象從而獲得該對象句柄時。

4,系統會將在句柄表中增加一個表項,表項的內容中存儲了指向目標內核對象的指針。

同時,系統返回這個表項在句柄表中的索引作為句柄。

H. 什麼是句柄句柄有什麼作用

所謂句柄實際上是一個數據,是一個Long
(整長型)的數據。
句柄是WONDOWS用來標識被應用程序所建立或使用的對象的唯一整數,WINDOWS使用各種各樣的句柄標識諸如應用程序實例,窗口,控制,點陣圖,GDI對象等等。WINDOWS句柄有點象C語言中的文件句柄。
從上面的定義中的我們可以看到,句柄是一個標識符,是拿來標識對象或者項目的,它就象我們的姓名一樣,每個人都會有一個,不同的人的姓名不一樣,但是,也可能有一個名字和你一樣的人。從數據類型上來看它只是一個16位的無符號整數。應用程序幾乎總是通過調用一個WINDOWS函數來獲得一個句柄,之後其他的WINDOWS函數就可以使用該句柄,以引用相應的對象。
如果想更透徹一點地認識句柄,我可以告訴大家,句柄是一種指向指針的指針。我們知道,所謂指針是一種內存地址。應用程序啟動後,組成這個程序的各對象是住留在內存的。如果簡單地理解,似乎我們只要獲知這個內存的首地址,那麼就可以隨時用這個地址訪問對象。但是,如果您真的這樣認為,那麼您就大錯特錯了。我們知道,Windows是一個以虛擬內存為基礎的操作系統。在這種系統環境下,Windows內存管理器經常在內存中來回移動對象,依此來滿足各種應用程序的內存需要。對象被移動意味著它的地址變化了。如果地址總是如此變化,我們該到哪裡去找該對象呢?
為了解決這個問題,Windows操作系統為各應用程序騰出一些內存儲地址,用來專門登記各應用對象在內存中的地址變化,而這個地址(存儲單元的位置)本身是不變的。Windows內存管理器在移動對象在內存中的位置後,把對象新的地址告知這個句柄地址來保存。這樣我們只需記住這個句柄地址就可以間接地知道對象具體在內存中的哪個位置。這個地址是在對象裝載(Load)時由系統分配給的,當系統卸載時(Unload)又釋放給系統。
句柄地址(穩定)→記載著對象在內存中的地址————→對象在內存中的地址(不穩定)→實際對象
本質:WINDOWS程序中並不是用物理地址來標識一個內存塊,文件,任務或動態裝入模塊的,相反的,WINDOWS
API給這些項目分配確定的句柄,並將句柄返回給應用程序,然後通過句柄來進行操作。
但是必須注意的是程序每次從新啟動,系統不能保證分配給這個程序的句柄還是原來的那個句柄,而且絕大多數情況的確不一樣的。假如我們把進入電影院看電影看成是一個應用程序的啟動運行,那麼系統給應用程序分配的句柄總是不一樣,這和每次電影院售給我們的門票總是不同的一個座位是一樣的道理。

I. 能否通俗點講講什麼是句柄作用如何

通俗的講就是一個目標,句柄就是這個目標的名字,當然這個名字只是臨時的,下次打開就換了一個名字,也就是數字句柄。 比如我要用拳頭往前打,這就相當於前台。如果我要打一個人呢?那就先要找到這個人,找到的這個人就是句柄,對這個句柄操作。找到了,然後用拳頭打。。。

J. 句柄是什麼意思,詳細解釋下

句柄是編寫工具
游戲外掛所用到得窗口ID
游戲窗口進程,比如按鍵精靈所用到的就是獲取游戲窗口(句柄)進程ID
E語言編寫軟體很多地方都會用到句柄
自己慢慢學

閱讀全文

與語文中的句柄是什麼相關的資料

熱點內容
word中化學式的數字怎麼打出來 瀏覽:660
乙酸乙酯化學式怎麼算 瀏覽:1330
沈陽初中的數學是什麼版本的 瀏覽:1267
華為手機家人共享如何查看地理位置 瀏覽:954
一氧化碳還原氧化鋁化學方程式怎麼配平 瀏覽:805
數學c什麼意思是什麼意思是什麼 瀏覽:1321
中考初中地理如何補 瀏覽:1217
360瀏覽器歷史在哪裡下載迅雷下載 瀏覽:628
數學奧數卡怎麼辦 瀏覽:1297
如何回答地理是什麼 瀏覽:949
win7如何刪除電腦文件瀏覽歷史 瀏覽:981
大學物理實驗干什麼用的到 瀏覽:1402
二年級上冊數學框框怎麼填 瀏覽:1611
西安瑞禧生物科技有限公司怎麼樣 瀏覽:753
武大的分析化學怎麼樣 瀏覽:1169
ige電化學發光偏高怎麼辦 瀏覽:1259
學而思初中英語和語文怎麼樣 瀏覽:1553
下列哪個水飛薊素化學結構 瀏覽:1348
化學理學哪些專業好 瀏覽:1414
數學中的棱的意思是什麼 瀏覽:970