XPE應(yīng)用程序組件開(kāi)發(fā)指南_第1頁(yè)
XPE應(yīng)用程序組件開(kāi)發(fā)指南_第2頁(yè)
XPE應(yīng)用程序組件開(kāi)發(fā)指南_第3頁(yè)
XPE應(yīng)用程序組件開(kāi)發(fā)指南_第4頁(yè)
XPE應(yīng)用程序組件開(kāi)發(fā)指南_第5頁(yè)
已閱讀5頁(yè),還剩9頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第1頁(yè)共12頁(yè)XPE操作系統(tǒng)自定義應(yīng)用程序組件開(kāi)發(fā)指南第1頁(yè)共12頁(yè)XPE操作系統(tǒng)自定義應(yīng)用程序組件開(kāi)發(fā)指南XPE應(yīng)用程序組件開(kāi)發(fā)指南WindowsXPembeddedCompoentDesigner雷志剛2007年3月21日第 頁(yè)共12頁(yè)XPE操作系統(tǒng)自定義應(yīng)用程序組件開(kāi)發(fā)指南第 頁(yè)共12頁(yè)XPE操作系統(tǒng)自定義應(yīng)用程序組件開(kāi)發(fā)指南目錄TOC o 1-5 h z HYPERLINK l bookmark4 第一章.描述1 HYPERLINK l bookmark6 第二章.組件開(kāi)發(fā)實(shí)現(xiàn)2 HYPERLINK l bookmark34 第三章.總結(jié)10第一章.描述圖中顯示了WindowsXPEm

2、bedded操作系統(tǒng)開(kāi)發(fā)的工作流程:EmbeddemooIsEtepojimerrtT-argetBeyiee.Gempc-nirtAdhoringConfiflixalienAtihofingHageCcrftponcrtElfrjjgwKEtinarRejosilartesConfi”訓(xùn)on用刃IIE&AJCwkrFite!(.SLO)從圖中可以看出,組件設(shè)計(jì)是作為嵌入式開(kāi)發(fā)人員開(kāi)發(fā)自定義組件的重要過(guò)程,以下篇幅將對(duì)如何使用組件設(shè)計(jì)器設(shè)計(jì)自定義組件作出詳細(xì)描述。WindowsXPEmbedded中包含目標(biāo)設(shè)計(jì)器、組件設(shè)計(jì)器、組件數(shù)據(jù)庫(kù)管理器和目標(biāo)分析器幾大開(kāi)發(fā)工具,其中組件設(shè)計(jì)器使開(kāi)發(fā)人員

3、可以設(shè)計(jì)自定義操作系統(tǒng)組件,并將它們添加到運(yùn)行時(shí)配置中。它還使開(kāi)發(fā)人員可以將自定義應(yīng)用程序添加到運(yùn)行時(shí)配置中,以實(shí)現(xiàn)生成嵌入式系統(tǒng)所需要的靈活性。本文以MCGS組態(tài)軟件為例,描述了將該組態(tài)軟件制作成一個(gè)應(yīng)用程序組件的詳細(xì)過(guò)程。第二章.組件開(kāi)發(fā)實(shí)現(xiàn)初期開(kāi)發(fā)的XPE操作系統(tǒng),不包含MCGS的環(huán)境和關(guān)聯(lián)文件,理所當(dāng)然,拷貝MCGS的組態(tài)和運(yùn)行環(huán)境后也不能正常運(yùn)行MCGS。為了今后能夠在XPE上實(shí)現(xiàn)拷貝MCGS的組態(tài)和運(yùn)行環(huán)境后的正常運(yùn)行,需要自行開(kāi)發(fā)一個(gè)組件,加入到XPE系統(tǒng)的組件庫(kù)中。按照以下步驟來(lái)實(shí)現(xiàn)該組件的開(kāi)發(fā):1、打開(kāi)MicrosoftWindowsEmbeddedStudio中的Compo

4、nentDesigner,彈出組件設(shè)計(jì)工具畫(huà)面。2、新建一個(gè)組件工程,并且在Saveas時(shí)將該組件工程命名為MCGS5.5.sld。3、選中該工程下的Components子樹(shù)項(xiàng),右鍵單擊,選擇AddComponent,新建了一個(gè)Component,可以在右邊的屬性頁(yè)中設(shè)置名字,版本等信息。如圖所示:4、該項(xiàng)下包含6個(gè)子樹(shù)項(xiàng):GroupMemberships:將制作好的組件發(fā)布到組件數(shù)據(jù)庫(kù)中。Files:制作組件所需要添加的相關(guān)文件。RegistryData:制作組件所需要注冊(cè)的文件。ComponentorGroupDependency:設(shè)置組件需要關(guān)聯(lián)的其它組件和組件組。BuildOrderD

5、ependency:制作組件關(guān)聯(lián)命令。Resources:用于相關(guān)文件的FBA注冊(cè)。在MCGS5.5組件的制作過(guò)程中,只涉及到前三個(gè)子項(xiàng)的使用。選擇Files項(xiàng),右鍵選擇AddMultipleFiles,增加MCGS所需的關(guān)聯(lián)文件,如下圖(注意:增加的MCGS關(guān)聯(lián)文件都是經(jīng)過(guò)工具篩選好的,并不是現(xiàn)成的。詳細(xì)的篩選過(guò)程這里就不在說(shuō)明):這樣就會(huì)將所需的關(guān)聯(lián)文件添加到右側(cè)的列表中。為每個(gè)文件設(shè)置存放路徑,具體路徑是雙擊文件,彈出屬性框,在Destination中選擇,添加的文件中除了TDMD.sys添加到C:WINNTSYSTEM32DRIVERS外,其余文件添加路徑都是C:WINNTSYSTEM

6、32目錄下。設(shè)置完畢后注意保存。設(shè)置完文件路徑后,就完成了Files文件的添加。下面進(jìn)行注冊(cè)文件的添加。在添加注冊(cè)文件之前,首先要明確需要注冊(cè)哪些注冊(cè)表項(xiàng),這些工作和篩選MCGS關(guān)聯(lián)文件一樣,都是之前選擇好的,將需要注冊(cè)的文件整理在一個(gè)REG文件中。為了簡(jiǎn)單起見(jiàn),我們可以通過(guò)File中的Import將該注冊(cè)文件導(dǎo)入,如下圖:WindowsXFEmbeddedClient(k86)Platform:E:WYJtempileiProjectMCGS5.5RegeditilesDogDriImportFile中,如圖所示:3-lflMCGS5.5.5ld白3Windows:爐EmbeddedClie

7、nt(::86)Components自零匚站5.5ComponentVersion1.0.R3rGroupMembershipsJFiles“盤(pán)fRegistryData、盤(pán)ComporientorGroupDependen匚丫卜BuildOrderDependency尺已sources“EjRepositoriesj“己D已口已I匚I已I匚i已呂“Packages:“己Fepository5ets3-3DogDriver.sId*白牢WindowsXPEmbeddedClient(x86)白己Componentsj白零E;VvYJtempFilesi.Projecti.M匚站5.Sl.Reg

8、卜暦GroupM已mb已rshipsinFilesRegislryPath|也uqname&HKEY_LOCAL_MACHINE5Y5TEMControl5et003EnumRool:LEGA.蹈HKEY_LO匚怕匚HIPJEl月活TERTEmtF匚的已tiXi1i.Enijrrii.Rociti.LEGA.NextlnstanceHKEY_LOCALJvMCHINElil5YSTEMlilContrcil5et001i.Enijrrii.Rociti.LEGA.Service風(fēng)HKEY_LO匚M怕匚HIME卩巧TERTEmtMl元1i.Enurrii.Rooti.LEGA.Legacy踽HK

9、EY_LO匚M帕匚HINE歸活TE屈匚口nt旳店已tiXi1i.Enijrrii.Rociti.LEGA.ConFigFlagsHKEY_LOCALJvMCHINElil5YSTEMlilContrcil5et001i.Enijrrii.Rociti.LEGA.匚I日洋HKEY_LO匚M怕匚HIME卩巧TERTEmtMl元tiXi1i.Enurrii.Rooti.LEGA.匚lassGUIDHKEY_L0CALJvAi:HIhJE5YSTErvllilContrcil5etOO1i.Enijrrii.Rociti.LEGA.DeviceDescHKEY_LOCALJvMCHINElil5YST

10、EMlilContrcil5et001i.Enijrrii.Rociti.LEGA.ActiveService&HKEY_LO匚怕匚HIME卩巧TERTEmtMl無(wú)tiXi1i.Enurrii.Rooti.LEGA.圃HKEY_LOCAL_MACHINE5Y5TEMControl5etOO1EnumRootLEGA.CapabilitiesHKEY_LOCAL_MACHINE5Y5TEMControl5el:001EnumRootLEGA.DriverHKEY_LO匚怕匚HIME卩巧TERTEmtMl無(wú)tiXill無(wú)呦匚已或TDR1DHKEY_LOCALJvMCHINE5YSTEMlilCon

11、trcil5et001lil5ervii:e5lilTDMD閩HKEY_LO匚AL怕匚HIPE與TERTQMitsI無(wú)tig15ervicesTDMD踽HKEY_LO匚怕匚HIB冋刖三TERTEmtMl免tiXi1i.Servicesi.TDMDHKEY_LOCALJvMCHINE5YSTEMlilContrcil5et001lil5ervii:e5lilTDMD畫(huà)HKEY_LO匚AL怕匚HIPE與TERTQMitsI無(wú)tig15ervicesTDMDDependOnGroupDependOnServiceErrorControlTypeGroupStart;“劇LomponentorGrou

12、pDependen匚*It胡BuildOrderDependency:冒尺已sources“EjR.epositories“EjD已匚舊riden匚i已名j“己PackagesHKEY_LO匚怕匚HIPJEl月活TERTEmtF匚的已1i.Servicesi.TDMDi.En.0錮HKEY_LOCALJvMCHINElil5YSTEMlilContrcil5et001巧已rvicesi.TDMDi.En.匚mit風(fēng)HKEY_LO匚AL怕匚HINE卩巧TERTEmtMl元1i.Servicesi.TDMDi.En.Nextlnstance圖HKEY_LO匚怕匚HIPJEl月活TERTEmtF匚的

13、已叩匸13迄仃11訊如匚已牡汕.NextlnstanceHKEY_LOCALJvMCHINE5YSTEMlilContrcil5et003lilEnijrrililRcicitlilLEGA.Service蹈HKEY_LO匚AL怕匚HINE卩巧TERTEmtMl元tiXi;軟Eiu職ULE百A.Legacy將列表中的注冊(cè)文件全選后拷貝到MCGSL15.5.sldE下的RegiEstrytDataul-T.IIr.i.-UTCTcr.!1.-.-.r-.i-v.-.lc.-.krirr:1.Cr-.r.-.1.n.-.-.k1.ic.-imDogDriver.sld組件項(xiàng)Close掉。此后還需要

14、做一個(gè)工作,因?yàn)橹疤砑拥脑S多Files中有些是Dll和Ocx的,需要進(jìn)行注冊(cè)操作,因而添加的Files中有一個(gè)名為MCGSFileReg.bat的批處理文件,里面完成的是用Regsvr32第5頁(yè)共12頁(yè)XPE操作系統(tǒng)自定義應(yīng)用程序組件開(kāi)發(fā)指南第 頁(yè)共12頁(yè)XPE操作系統(tǒng)自定義應(yīng)用程序組件開(kāi)發(fā)指南第 頁(yè)共12頁(yè)XPE操作系統(tǒng)自定義應(yīng)用程序組件開(kāi)發(fā)指南命令對(duì)需要注冊(cè)的Dll和Ocx進(jìn)行注冊(cè),該文件我們希望它在系統(tǒng)啟動(dòng)的第一次執(zhí)行一次即可,所以我們需要手動(dòng)編輯一條注冊(cè)表信息,放在RegistryData中。首先在當(dāng)前機(jī)器注冊(cè)表的HKEY_LOCAL_MACHINESOFTWAREMicrosoft

15、WindowsCurrentVersionRunOnce的鍵值下新建一個(gè)字符串鍵值,名為McgsReg,速據(jù)為E:WYJtempfilesProjectMCGS5.5MCGSFileReg.bat。然后在RegistryData中右鍵Add一個(gè)RegistryBranch,將HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRunOnce下的鍵值添加到右邊的里表中,如圖深色部分:SHKEY_L0CAL_MACHINE5Y5TEMCurrentControl5et5ervice5TDMDEnumCountREG_DWORD遐HKE_L

16、tXAL_MAtZHINEWY5TEMltZurrent6ntrd5eU5ewigTDMDlEnumNextlnstanceREG_DWORD二11忙丄0巴1些甲底臣些町色匹世巴Ml理哩爛匹貯更蘭巳也n.遲巴印蘭豪訝丄6匸陥扭詢弗帀亍訴沐氏所喬詼R扁話0忑迂陥五胳乳niduF擠c?皿“亦融衣前完成了注冊(cè)文件的添加后,對(duì)于制作MCGS5.5組件的文件添加就完成了,下面新增一個(gè)倉(cāng)庫(kù)(Repository),倉(cāng)庫(kù)作用是用來(lái)指明剛才所要添加文件所在的文件,以后該組件就會(huì)按照這個(gè)文件路徑來(lái)添加所有的文件。右鍵Repositories.Add一個(gè)新的Repository,同樣,在右邊的屬性設(shè)置框中可以填寫(xiě)

17、其屬性值。(66完成后,回到MCGS5.5Component項(xiàng),在右邊的Repositories中選擇剛才創(chuàng)建的倉(cāng)庫(kù)MCGS5.5Repository,這樣就把組件和來(lái)源文件倉(cāng)庫(kù)關(guān)聯(lián)起來(lái)了。在MCGS5.5Component下的GroupMemberships中選擇AddGroupMemberships,用來(lái)制定組件的存放目錄,我們將其放在圖中顯示目錄下:最后將制作好的組件導(dǎo)入數(shù)據(jù)庫(kù)。選擇Tools中的MicrosoftComponentDatabaseManager,選中Import在彈出的設(shè)置框中選擇組件文件,也就是MCGS5.5.sld后開(kāi)始導(dǎo)入。如果導(dǎo)入成功,會(huì)提示如下信息:這樣我們就

18、完成了組件的設(shè)計(jì)并添加到了數(shù)據(jù)庫(kù)中。如何查看自己制作的組件呢?我們可以在TargetDesigner中來(lái)查看。d打開(kāi)TargetDesigner,新建一個(gè)工程,在剛才選擇的SoftwareApplication0EM目錄下就能看見(jiàn)我們制作的MCGS5.5Component。叮耳MicrosoftTargetDesigner-無(wú)標(biāo)題號(hào)Ih*FileEditViewConFigurdtionToolsHelpFilter:|a11CompcinentESearch:刮9947ccimpcnientE+Hardware-Software+System+Legacy-Applications+Management+G+&+亡+G+&-亡這樣,我們?cè)陂_(kāi)發(fā)WindowsInternetBusinessTools&U

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論