閱讀544 返回首頁    go 阿裏雲 go 技術社區[雲棲]


句柄

  句柄,是整個windows編程的基礎。一個句柄是指使用的一個唯一的整數值,即一個四字節長的數值,來標誌應用程序中的不同對象和同類對象中的不同的實例,諸如,一個窗口,按鈕,圖標,滾動條,輸出設備,控件或者文件等。應用程序能夠通過句柄訪問相應的對象的信息,但是句柄不是一個指針,程序不能利用句柄來直接閱讀文件中的信息。如果句柄不用在I/O文件中,它是毫無用處的。 句柄是windows用來標誌應用程序中建立的或是使用的唯一整數,windows使用了大量的句柄來標誌很多對象


 

  在程序設計中,句柄是一種特殊的智能指針 。當一個應用程序要引用其他係統(如數據庫、操作係統)所管理的內存塊或對象時,就要使用句柄。
  句柄與普通指針的區別在於,指針包含的是引用對象的內存地址,而句柄則是由係統所管理的引用標識,該標識可以被係統重新定位到一個內存地址上。這種間接訪問對象的模式增強了係統對引用對象的控製。
 
  WINDOWS程序中並不是用物理地址來標識一個內存塊,文件,任務或動態裝入模塊的。相反,WINDOWS API給這些項目分配確定的句柄,並將句柄返回給應用程序,然後通過句柄來進行操作。
 
  句柄是WINDOWS用來標識被應用程序所建立或使用的對象的唯一整數,WINDOWS使用各種各樣的句柄標識諸如應用程序實例,窗口,控件,位圖,GDI對象等等。WINDOWS句柄有點象C語言中的文件句柄
 
 
  句柄是一個標識符,是拿來標識對象或者項目的。應用程序幾乎總是通過調用一個WINDOWS函數來獲得一個句柄,之後其他的WINDOWS函數就可以使用該句柄,以引用相應的對象。
 

 

最後更新:2017-04-03 16:48:54

  上一篇:go Linux中關機命令詳解
  下一篇:go Nginx + PHP + mysql CGI的一個可能的安全漏洞