新聞中心
Windows下進(jìn)程間通訊的幾個(gè)比較?
1 進(jìn)程與進(jìn)程通信

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來(lái)自于我們對(duì)這個(gè)行業(yè)的熱愛(ài)。我們立志把好的技術(shù)通過(guò)有效、簡(jiǎn)單的方式提供給客戶,將通過(guò)不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:主機(jī)域名、虛擬主機(jī)、營(yíng)銷軟件、網(wǎng)站建設(shè)、安化網(wǎng)站維護(hù)、網(wǎng)站推廣。
進(jìn)程是裝入內(nèi)存并準(zhǔn)備執(zhí)行的程序,每個(gè)進(jìn)程都有私有的虛擬地址空間,由代碼、數(shù)據(jù)以及它可利用的系統(tǒng)資源(如文件、管道等)組成。多進(jìn)程/多線程是Windows操作系統(tǒng)的一個(gè)基本特征。Microsoft Win32應(yīng)用編程接口(Application Programming Interface, API)提供了大量支持應(yīng)用程序間數(shù)據(jù)共享和交換的機(jī)制,這些機(jī)制行使的活動(dòng)稱為進(jìn)程間通信(InterProcess Communication, IPC),進(jìn)程通信就是指不同進(jìn)程間進(jìn)行數(shù)據(jù)共享和數(shù)據(jù)交換。
正因?yàn)槭褂肳in32 API進(jìn)行進(jìn)程通信方式有多種,如何選擇恰當(dāng)?shù)耐ㄐ欧绞骄统蔀閼?yīng)用開(kāi)發(fā)中的一個(gè)重要問(wèn)題,下面本文將對(duì)Win32中進(jìn)程通信的幾種方法加以分析和比較。
2 進(jìn)程通信方法
2.1 文件映射
文件映射(Memory-Mapped Files)能使進(jìn)程把文件內(nèi)容當(dāng)作進(jìn)程地址區(qū)間一塊內(nèi)存那樣來(lái)對(duì)待。因此,進(jìn)程不必使用文件I/O操作,只需簡(jiǎn)單的指針操作就可讀取和修改文件的內(nèi)容。
Win32 API允許多個(gè)進(jìn)程訪問(wèn)同一文件映射對(duì)象,各個(gè)進(jìn)程在它自己的地址空間里接收內(nèi)存的指針。通過(guò)使用這些指針,不同進(jìn)程就可以讀或修改文件的內(nèi)容,實(shí)現(xiàn)了對(duì)文件中數(shù)據(jù)的共享。
應(yīng)用程序有三種方法來(lái)使多個(gè)進(jìn)程共享一個(gè)文件映射對(duì)象。
(1)繼承:第一個(gè)進(jìn)程建立文件映射對(duì)象,它的子進(jìn)程繼承該對(duì)象的句柄。
(2)命名文件映射:第一個(gè)進(jìn)程在建立文件映射對(duì)象時(shí)可以給該對(duì)象指定一個(gè)名字(可與文件名不同)。第二個(gè)進(jìn)程可通過(guò)這個(gè)名字打開(kāi)此文件映射對(duì)象。另外,第一個(gè)進(jìn)程也可以通過(guò)一些其它IPC機(jī)制(有名管道、郵件槽等)把名字傳給第二個(gè)進(jìn)程。
復(fù)制文件提示句柄無(wú)效如何解決?
此警告音是否由于安裝了第三方軟件后提示的,如果是建議卸載掉不要使用,或查看是不是游戲本身遇到了問(wèn)題,可以卸載重新下載安裝。
2.
“句柄無(wú)效”通常是編程的錯(cuò)誤,或者是丟失了某些動(dòng)態(tài)連接庫(kù)的DLL文件。重新下載一個(gè)directx9.0c,安裝試試。如果還不行,就重裝操作系統(tǒng),這樣做比較省事。
無(wú)效的文件句柄無(wú)法復(fù)制光盤(pán)?
當(dāng)你嘗試復(fù)制光盤(pán)時(shí),如果出現(xiàn)"無(wú)效的文件句柄"錯(cuò)誤,這意味著系統(tǒng)無(wú)法識(shí)別或訪問(wèn)光盤(pán)驅(qū)動(dòng)器??赡艿脑虬?qū)動(dòng)器故障、驅(qū)動(dòng)程序問(wèn)題或操作系統(tǒng)錯(cuò)誤。要解決此問(wèn)題,你可以嘗試重新啟動(dòng)計(jì)算機(jī),更新驅(qū)動(dòng)程序,檢查硬件連接或嘗試在其他計(jì)算機(jī)上復(fù)制光盤(pán)。如果問(wèn)題仍然存在,可能需要聯(lián)系技術(shù)支持或更換光盤(pán)驅(qū)動(dòng)器。
句柄和實(shí)例句柄有什么區(qū)別,該如何處理?
在計(jì)算計(jì)運(yùn)用操作中:句柄,是整個(gè)windows編程的基礎(chǔ),一個(gè)句柄是指使用的一個(gè)唯一的整數(shù)值,是指一個(gè)四字節(jié)長(zhǎng)的數(shù)值,用于標(biāo)志應(yīng)用程序中的不同對(duì)象和同類對(duì)像中的不同的實(shí)例。比如,一個(gè)窗口,按鈕,圖標(biāo),滾動(dòng)條,控件或者文件等。應(yīng)用程序就能夠通過(guò)句柄訪問(wèn)相應(yīng)的對(duì)象的信息。實(shí)例句柄用來(lái)標(biāo)識(shí)一個(gè)程序的一個(gè)具體進(jìn)程,他的值實(shí)際上是這個(gè)實(shí)例被加載到進(jìn)程空間的地址。句柄不是一個(gè)指針,程不能利句柄來(lái)直接閱讀文件中的信息。句柄是windows用來(lái)標(biāo)志應(yīng)用程序中建立的或是使用的唯一整數(shù),windows使用了大量的句柄來(lái)標(biāo)志很多對(duì)象。在windows環(huán)境下,不但可以運(yùn)行多個(gè)應(yīng)用程序,還可以運(yùn)行多個(gè)應(yīng)用程序的多份拷貝,每個(gè)拷貝叫做一個(gè)實(shí)例,并且有不同的實(shí)例句炳。一個(gè)實(shí)例句柄是windows可以單獨(dú)運(yùn)行的副本,是唯一可以標(biāo)志此實(shí)例的整數(shù)。它的區(qū)別是:HWND表示的是窗口的句柄,而HNSTANCE表示的是程序的當(dāng)前實(shí)例的句柄。
到此,以上就是小編對(duì)于復(fù)制文件提示句柄無(wú)效的問(wèn)題就介紹到這了,希望這4點(diǎn)解答對(duì)大家有用。
當(dāng)前題目:Windows下進(jìn)程間通訊的幾個(gè)比較?windows句柄復(fù)制
當(dāng)前鏈接:http://www.dlmjj.cn/article/dpigihp.html


咨詢
建站咨詢
