句柄無效是?什么意思 句柄無效怎么解決

作者: bin  2013-08-08 17:10 [查查吧]:m.uabf.cn

   為什么在游戲運(yùn)行過程中會(huì)突然不停的出現(xiàn)提示"句柄無效?" 句柄無效是?什么意思?句柄無效怎么解決?

  還有網(wǎng)友是在游戲過程中突然出現(xiàn)警告音,最小化游戲后看到桌面上不停的出現(xiàn)提示句柄無效,也無法正常關(guān)機(jī),按電源關(guān)機(jī),重啟后用金山殺毒后并沒發(fā)現(xiàn)病毒,用系統(tǒng)備份還原系統(tǒng)后也無法解決,在玩一段時(shí)間后依然出現(xiàn),應(yīng)該怎么辦?

句柄無效

  處理方法:此警告音是否由于安裝了第三方軟件后提示的,如果是建議卸載掉不要使用,或查看是不是游戲本身遇到了問題,可以卸載重新下載安裝。

  系統(tǒng)不能加載用戶配置, 但能加載默認(rèn)配置。

  “句柄無效”通常是編程的錯(cuò)誤,但你的情況顯然不可能是編程的問題,應(yīng)該是丟失或更改了某些系統(tǒng)文件。我猜可能是你的dircetx錯(cuò)誤,或者是丟失了某些動(dòng)態(tài)連接庫的DLL文件。你重新下載一個(gè)directx9.0c,安裝試試。如果還不行,就重裝操作系統(tǒng),這樣做比較省事。

  其他對于“句柄無效”的相關(guān)解釋:(僅供參考!)

  所謂句柄實(shí)際上是一個(gè)數(shù)據(jù),是一個(gè)Long (整長型)的數(shù)據(jù)。

  句柄是WONDOWS用來標(biāo)識被應(yīng)用程序所建立或使用的對象的唯一整數(shù),WINDOWS使用各種各樣的句柄標(biāo)識諸如應(yīng)用程序?qū)嵗?,窗口,控制,位圖,GDI對象等等。WINDOWS句柄有點(diǎn)象C語言中的文件句柄。

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

  如果想更透徹一點(diǎn)地認(rèn)識句柄,我可以告訴大家,句柄是一種指向指針的指針。我們知道,所謂指針是一種內(nèi)存地址。應(yīng)用程序啟動(dòng)后,組成這個(gè)程序的各對象是住留在內(nèi)存的。如果簡單地理解,似乎我們只要獲知這個(gè)內(nèi)存的首地址,那么就可以隨時(shí)用這個(gè)地址訪問對象。但是,如果您真的這樣認(rèn)為,那么您就大錯(cuò)特錯(cuò)了。我們知道,Windows是一個(gè)以虛擬內(nèi)存為基礎(chǔ)的操作系統(tǒng)。在這種系統(tǒng)環(huán)境下,Windows內(nèi)存管理器經(jīng)常在內(nèi)存中來回移動(dòng)對象,依此來滿足各種應(yīng)用程序的內(nèi)存需要。對象被移動(dòng)意味著它的地址變化了。如果地址總是如此變化,我們該到哪里去找該對象呢?

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

  句柄地址(穩(wěn)定)→記載著對象在內(nèi)存中的地址————→對象在內(nèi)存中的地址(不穩(wěn)定)→實(shí)際對象

  本質(zhì):WINDOWS程序中并不是用物理地址來標(biāo)識一個(gè)內(nèi)存塊,文件,任務(wù)或動(dòng)態(tài)裝入模塊的,相反的,WINDOWS API給這些項(xiàng)目分配確定的句柄,并將句柄返回給應(yīng)用程序,然后通過句柄來進(jìn)行操作。

  但是必須注意的是程序每次從新啟動(dòng),系統(tǒng)不能保證分配給這個(gè)程序的句柄還是原來的那個(gè)句柄,而且絕大多數(shù)情況的確不一樣的。假如我們把進(jìn)入電影院看電影看成是一個(gè)應(yīng)用程序的啟動(dòng)運(yùn)行,那么系統(tǒng)給應(yīng)用程序分配的句柄總是不一樣,這和每次電影院售給我們的門票總是不同的一個(gè)座位是一樣的道理。

?
    發(fā)表評論

    醫(yī)療健康