句柄並沒有什么神奇之處,不管哪種句柄,實際都是一個整數。它標識一種資源,如窗口、位圖等等。就象你找一個人,必須知道它的地址一樣,如果你要操作一種資源,必須先獲得句柄。
“取窗口句柄()”並不是只能取出窗口的句柄,所有窗口控件,如編輯框、標簽等都可以用本命令取出自己的句柄,如:
編輯框1.取窗口句柄()
標簽1.取窗口句柄()
控件的句柄同樣,不知你明白了沒有?我個人理解是任何控件都有它自身的特有屬性,句柄也就指它的特有屬性(包括共性)。好像人有男女之分,要找男人一定是找有特有性別的人,也就是能區分不是女人的特性的人。
“句柄”(handle)
handle的本意是把柄,把手的意思。是你與操作系統打交道的
東東。舉個通俗的例子,比如你考上了大學,入學后,學校(操作系統)會給你一個學生
證號。注意,這個號碼是學校指定的,你無法自選。有了這個號碼(學生證,假設一證多用)
享受學校提供的服務:如你就可以去圖書館借書,去食堂吃飯,去教室上課等等。但你不能
到食堂里買啤酒,因為學校不允許這種服務。而在計算機中系統提供的服務就是API調用,
你有了HANDLE,就可以理直氣壯地向系統提出調用API的服務。
而指針的權力就大多了,有了指針你可以到處去喝酒,打架,學校(操作系統)管不着,所以
句柄和指針的區別在於句柄只能調用系統提供的服務。而句柄雖然是一個能相互區別的號碼,
但與我們普通的ID號又有區別,普通的ID號是可以由程序員自己定義的,而句柄不行,它是
對象生成時系統指定的,是為了區別系統中存在的各個對象,這個句柄不是由程序員符給的.