锘??xml version="1.0" encoding="utf-8" standalone="yes"?> 浣滆咃細RAYMAN 銆銆褰撴垜浠紑鍙戝畬Pocket PC鎴栬匰martphone鐨勮蔣浠跺悗錛岄兘闇瑕佽冭檻濡備綍鍒朵綔緇欐渶緇堢敤鎴蜂嬌鐢ㄧ殑杞歡瀹夎鍖呫備笓闂ㄧ敤浜庡埗浣滃畨瑁呭寘鐨勮蔣浠舵湁寰堝錛屽Install Shield絳夈備絾鍦ㄨ澶氭儏鍐典笅錛屾垜浠粎浠呴渶瑕佷竴浜涙瘮杈冪畝鍗曠殑瀹夎榪囩▼錛岃繖鏃跺欐垜浠畬鍏ㄥ彲浠ュ埄鐢⊿DK涓彁渚涚殑宸ュ叿鍜屼竴浜涘厤璐圭殑杞歡鏉ュ埗浣滃畨瑁呭寘銆傚彟澶栵紝鎴戜滑鍒朵綔鐨勮蔣浠剁粡甯鎬細闇瑕佸湪涓嶅悓鐨勫鉤鍙頒笅榪愯錛屼緥濡傜瑪鑰呭紑鍙戠殑涓涓蔣浠跺悓鏃舵敮鎸丠PC錛孭PC錛孲martphone絳夊鉤鍙幫紝HPC鍜孭PC騫沖彴涓婅繕鏈?縐岰PU綾誨瀷銆傚鏋滄瘡涓姝ユ搷浣滃畬鎴愬悗閮介渶瑕佷漢宸ヤ粙鍏ヨ繘琛屾搷浣滅殑璇濓紝姣忎竴嬈℃瀯寤鴻繃紼嬮兘浼氱浉褰撶殑綣佺悙鍜岃楁椂銆傛墍浠ユ垜浠細鑰冭檻濡備綍灝嗕竴緋誨垪鐨勬搷浣滈噰鐢ㄨ剼鏈覆鎺ヨ搗鏉ワ紝鍙渶瑕佽繍琛屼竴涓懡浠ゅ氨鑳藉鐢熸垚鏈緇堥渶瑕佺殑鎵鏈夊畨瑁呭寘銆?/p>
銆銆铏界劧EVC閲屾彁渚涗簡Batch Build鐨勫姛鑳斤紝浣嗚鍔熻兘鍙兘鐢ㄤ簬鍚屼竴騫沖彴鐨勪笉鍚孋PU鐗堟湰鐨勭紪璇戦摼鎺ユ搷浣溿傚湪鍒囨崲涓嶅悓騫沖彴榪涜緙栬瘧鏃訛紝闇瑕佸湪GUI鐜涓墜宸ユ墽琛岋紝鏃犳硶杈懼埌鎴戜滑瑕佹眰銆傛墍浠ユ垜浠渶瑕佺爺絀跺浣曞湪鍛戒護琛岀姸鎬佷笅榪涜紼嬪簭鐨勭紪璇戣繍琛屻傚疄闄呬笂EVC紼嬪簭鏈韓鏄彁渚涗簡涓緋誨垪鐨勫懡浠ゅ彲浠ョ敤浜庡懡浠よ緙栬瘧鐨勩?/p>
D:\Program Files\Microsoft eMbedded Tools\Common\EVC\Bin>evc /? 銆銆鍏朵腑涓昏鏄繍鐢∕AKE鍛戒護銆傚亣璁炬垜浠渶瑕佺紪璇戠殑紼嬪簭鍚嶅彨鍋欴emo錛屽伐浣滅幆澧冩枃浠跺悕涓篸emo.vcw錛孭PC鐗堢殑宸ョ▼欏圭洰鏂囦歡涓篋emo.vcp錛孲martphone鐗堟湰鐨勯」鐩枃浠朵負DemoSP.vcp.鎴戜滑涓篍VC3緙栧啓濂界殑鎵瑰鐞嗘枃浠禸uild.bat濡備笅錛?/p>
REM @echo off 銆銆鏍規嵁涓婇潰鐨勪唬鐮侊紝鐜板湪鎴戜滑鍙渶瑕佽繍琛屼竴嬈uild.bat鏂囦歡鍗沖彲緙栬瘧鐢熸垚PPC錛孲martphone絳変笉鍚屽鉤鍙扮殑鐩爣鏂囦歡銆?/p>
銆銆鐢熸垚鐩爣鏂囦歡鍚庯紝鎴戜滑灝遍渶瑕佽冭檻濡備綍灝嗙▼搴忓畨瑁呭埌璁懼涓娿俢ab鏂囦歡鏄竴縐嶅帇緙╁茍涓斿甫鏈夊悇縐嶅畨瑁呬俊鎭殑鎵撳寘鏂囦歡錛屾墍鏈夌殑瀹夎杞歡瀹為檯涓婇兘鏄皢杞歡鐨刢ab鏂囦歡鎷瘋礉鍒扮浉搴旇澶囦笂錛岀劧鍚庡埄鐢ㄨ澶囦笂鐨剋ceload紼嬪簭榪涜鏈鍚庣殑璁懼瀹夎姝ラ銆傛垜浠彲浠ヤ嬌鐢≒ocketPC鎴栬匰martphone SDK涓檮甯︾殑cabwiz.exe 錛堝湪Smartphone涓婃槸CabWizSP.exe錛夊紼嬪簭榪涜鎵撳寘鐢熸垚cab鏂囦歡銆?/p>
銆銆鍦ㄥ埗浣渃ab鏂囦歡涔嬪墠錛屾垜浠氬父闇瑕佸仛濂戒互涓嬬殑瑙勫垝錛?/p>
銆銆cab鏂囦歡鐨勭敓鎴愰渶瑕佸埗浣滀竴涓?inf鏂囦歡浣滀負cabwiz紼嬪簭鐨勮緭鍏ャ傚綋鎴戜滑鍋氬ソ璁″垝涔嬪悗灝卞彲浠ュ姩鎵嬬紪鍐欒繖涓?inf鏂囦歡銆傝繖涓枃浠舵槸鏁翠釜鍒朵綔榪囩▼涓渶鍏抽敭鐨勪竴姝ワ紝涔熸槸鏈鍥伴毦鐨勪竴姝ャ?inf鏂囦歡涓巜indows閲岀殑ini鏂囦歡鍗佸垎鐩鎬技錛岄兘鏄敤鏂囨湰鏂瑰紡淇濆瓨鐨勶紝閲岄潰鍖呭惈鑻ュ共鐨勬錛圫ection錛夛紝 鍏抽敭瀛楋紙Key錛夊拰鍊鹼紙Value錛夌粍鎴愮殑鎻忚堪淇℃伅銆傛垜浠悓鏍鋒槸閲囩敤瀵逛緥瀛愯繘琛岃В閲婅鏄庣殑鏂瑰紡榪涜浠嬬粛銆?/p>
銆銆涓鑸潵璇達紝inf鏂囦歡閮芥湁鍥涗釜涓昏緇勬垚閮ㄥ垎錛孭PC鐨勫啓娉曞拰Smartphone鐨勫啓娉曠暐鏈変笉鍚岋紝鎴戜滑鍏堜粙緇峆PC鐨勫啓娉曘?/p>
銆銆inf鏂囦歡鐨勭涓閮ㄥ垎鏄竴浜涘叏灞淇℃伅鐨勫畾涔夛細 [Version] <-鐗堟湰淇℃伅錛屽繀欏繪湁璇ユ 銆銆鍏朵腑InstallDir涓嚭鐜扮殑“%CE1%”鏄痠nf鏂囦歡瀹氫箟鐨勭郴緇熺洰褰曟爣璁幫紝涓嬮潰鍒楀嚭鐨勬槸PPC 2002鍜孲martphone 2002涓嬪彲浠ヤ嬌鐢ㄧ殑鐩綍瀹忥細 銆銆榪欎簺鐩綍鏍囪鍦ㄨ繘琛屽畨瑁呯殑鏃跺欎細鏇挎崲鎴愮浉搴旂殑緋葷粺鐩綍璺緞銆傛澶栬繖浜涚郴緇熺洰褰曞湪瀹夎榪囩▼涓細鑷姩鏍規嵁闇瑕佽繘琛岃嚜鍔ㄨ皟鑺傘備緥濡?CE1%鏄寚緋葷粺緙虹渷鐨勭▼搴忓畨瑁呯洰褰曪紝鎸囧悜“\Program Files”銆傝屽綋鐢ㄦ埛閫夋嫨紼嬪簭瀹夎鍦ㄥ瓨鍌ㄥ崱涓椂錛岃鐩綍涔熶細鍋氱浉搴旀敼鍙樸?/p>
銆銆[CEString]鍜孾Strings]涓畾涔夌殑鍙橀噺浠ュ強涓婇潰鎻愬埌鐨勭洰褰曟爣璁板彲浠ョ敤浜庢浛鎹nf鏂囦歡涓殑浠繪剰閮ㄥ垎銆備笅闈㈢殑璇存槑涓細鏈変嬌鐢ㄧ殑渚嬪瓙銆?/p>
銆銆絎簩閮ㄥ垎鏄敤鏉ュ0鏄庢敮鎸佺殑璁懼CPU綾誨瀷錛屾搷浣滅郴緇熺被鍨嬪拰鐗堟湰鍙瘋姹傦細 [CEDevice.ARM] <-鐩爣璁懼澹版槑錛屽鏋滄敮鎸佸縐嶈澶?CPU灝變細鏈夊涓狢EDevice孌碉紝騫朵笖鍦ㄧ敤璁懼鏍囧彿浣滀負鍚庣紑琛ㄧず銆傚鏋滃彧鏀寔涓縐嶈澶囷紝鍙互鐩存帴鐢╗CEDevice]琛ㄧず 銆銆WinCE鍚勪釜騫沖彴鐨勮〃紺烘硶鍜岀浉搴旂殑鐗堟湰鍙峰涓嬭〃錛孶nsupportedPlatform鍜孷ersionMin/VersionMax鐨勫煎彲浠ュ弬鑰冭琛ㄨ繘琛屽~鍐欍?/p>
銆銆inf鏂囦歡鐨勭涓夐儴鍒嗘槸瀹氫箟婧愭枃浠剁殑緇勬垚鍜屽叾鍦ㄦ闈㈡満鍣ㄧ殑鐩綍錛?/p>
[SourceDisksNames] <-婧愭枃浠舵墍鍦ㄧ洰褰曪紝孌靛悕縐頒笉鍔犲悗緙琛ㄧず涓庡鉤鍙版棤鍏崇殑鏂囦歡鎵鍦ㄧ洰褰?蹇呴』鏈夎孌?br>1=, "SourceDisk01",,%CommonDir% <-鏍煎紡涓?<source ID> = ,<label>,,<source directory>鍏朵腑Source ID鐢ㄦ潵鍦ㄥ悗緇唴瀹逛腑鎸囧畾婧愭枃浠剁洰褰曠敤錛宭abel鍙槸璇存槑錛屾棤鐢ㄥ銆係ource directory鍒欐槸鎸囨簮鏂囦歡鍦≒C緋葷粺涓殑鎵鍦ㄧ洰褰曘?br> 銆銆inf鏂囦歡鐨勭鍥涢儴鍒嗘槸瀹氫箟瀹夎鐨勬搷浣?/p>
[DefaultInstall] <-鎸囨槑瀹夎鍖呴渶瑕佽繘琛岀殑鎿嶄綔錛屼緥濡傛枃浠舵嫹璐濓紝蹇嵎鏂瑰紡鍒涘緩絳夈傚繀欏繪湁璇ユ "demo.exe",,,0x40000003 銆銆浠ヤ笂鏄拡瀵筆PC鐨刬nf鏂囦歡鍐欐硶銆傜敱浜嶱PC鏀寔澶氱鐨凜PU鎵浠ユ瘮杈冨鏉備竴浜涳紝鑰孲martphone鐩墠瀹為檯涓婄洰鍓嶅彧鏀寔涓縐岰PU綾誨瀷錛屾墍浠ユ垜浠彲浠ュinf鏂囦歡榪涜綆鍖栥傚叾涓枃浠剁殑絎?鍜岀4閮ㄥ垎鐨勫唴瀹硅繕鏄拰PPC涓鏍楓傝岀2鍜岀3閮ㄥ垎鍒欏彲浠ョ畝鍖栨垚錛?/p>
[CEDevice] 銆銆鎶婁互涓婂洓涓儴鍒嗘嫾鎴愪竴涓枃浠跺氨鏄竴涓畬鏁寸殑inf鏂囦歡浜嗐傚埗浣滃畬inf鏂囦歡鍚庯紝鎴戜滑灝卞彲浠ヤ嬌鐢╟abwiz.exe鏂囦歡鏉ョ敓鎴?cab鏂囦歡銆傝鍛戒護鐨勮娉曞涓嬶細 cabwiz.exe "inf_file" 銆銆鍙傛暟鐨勫惈涔変負錛?/p>
inf_file – 鎸囧悜inf鏂囦歡鐨勫叏璺緞 銆銆鍋囪鎴戜滑鍓嶉潰渚嬪瓙涓殑inf鏂囦歡鍚嶄負demo.inf鏂囦歡銆傚垯瀵瑰簲鐨勬墽琛屽懡浠や負錛?/p>
cabwiz demo.inf /err buildppc.err /cpu ARM MIPS SH3 銆銆榪欐牱灝變細鐢熸垚 demo.arm.cab, demo.mips.cab, demo.sh3.cab 涓変釜鏂囦歡錛屽垎鍒搴?縐嶄笉鍚岀殑CPU錛堝鉤鍙幫級鐨勫畨瑁呮枃浠躲?/p>
銆銆鐢熸垚浜哻ab鏂囦歡騫朵笉鎰忓懗鐫澶у姛鍛婃垚銆傝櫧鐒剁敤鎴峰彲浠ユ墜宸ュ皢cab鏂囦歡鎷瘋礉鍒拌澶囦笂瀹夎錛屼絾榪欐牱闇瑕佺敤鎴瘋嚜宸辨噦寰楀尯鍒咰PU綾誨瀷絳夎澶氱殑涓撲笟鐭ヨ瘑銆傛墍浠ユ垜浠氬父閮戒細榪涗竴姝ョ敓鎴愪竴涓彲鎵ц鐨勮嚜鍔ㄥ寲瀹夎鍖咃紝杈懼埌鍌葷摐鍖栧畨瑁呯殑鐩殑銆傚鏋滀綘鐨勫畨瑁呰繃紼嬫瘮杈冪畝鍗曠殑璇濓紝鍙互浣跨敤Spb Software House錛?a target=_blank>http://www.spbsoftwarehouse.com錛夊叕鍙告彁渚涚殑鍏嶈垂杞歡ezsetup榪涜鍙墽琛屽畨瑁呮枃浠剁殑鍒朵綔銆傝杞歡鐢熺殑瀹夎紼嬪簭鍔熻兘姣旇緝綆鍗曪細鏄劇ず浜у搧淇℃伅鍜岃蔣浠舵巿鏉冨崗璁紝鐒跺悗瀹夎cab鏂囦歡銆傝櫧鐒跺姛鑳芥瘮杈冨皯錛屼絾澶ч儴鍒嗙殑PPC/Smartphone杞歡鐨勫畨瑁呰繃紼嬩篃鍙渶瑕佽繖鍑犱釜鍔熻兘灝辮凍澶熶簡銆?/p>
銆銆棣栧厛鎴戜滑闇瑕佸埗浣滀竴涓猟emo.ini鏂囦歡銆傝鏂囦歡鐨勬牸寮忓緢綆鍗曪紝PPC鍜孲martphone瀵瑰簲鐨勬牸寮忛兘涓鏍楓備緥瀛愬涓嬶細 [CEAppManager] 銆銆ezsetup紼嬪簭鏄竴涓懡浠よ榪愯鐨勭▼搴忥紝榪欏彲浠ユ柟渚挎垜浠繘琛岃嚜鍔ㄥ寲鏋勫緩銆傚懡浠ょ殑浣跨敤鏂規硶濡備笅錛?/p>
ezsetup <-l language> <-i inifilename> <-r readme.txt> 銆銆鎴戜滑鍙互鐢ㄤ笅闈㈢殑鍛戒護鏉ョ敓鎴愬彲鎵ц瀹夎鏂囦歡: ezsetup -l english -i demo.ini -r Readme.txt -e License.txt -o demo_setup.exe 銆銆鍓嶉潰鍒嗗埆浠嬬粛浜嗗浣曞湪鍛戒護琛岀紪璇戦摼鎺ョ洰鏍囩▼搴忥紝鍒朵綔cab鏂囦歡錛屼互鍙婄敓鎴愯嚜鍔ㄥ寲瀹夎紼嬪簭銆傝繖浜涙楠ら兘鏄彲浠ラ氳繃鍛戒護琛屾柟寮忔墽琛岀殑錛屾墍浠ユ垜浠彲浠ユ妸榪欎簺鍛戒護鍦ㄦ壒澶勭悊鑴氭湰涓覆鎺ヨ搗鏉ュ埗浣滆嚜鍔ㄥ寲鏋勫緩鑴氭湰銆傝繖鏍鋒垜浠氨鍙互“涓閿?#8221;瀹屾垚浠庝唬鐮佺紪璇戝埌鐢熸垚鏈緇堝彲鎵ц瀹夎鍖呯殑鍏ㄨ繃紼嬨?/p>
Hi again, I'm still unable to get the correct resource dll to load. Instead I implemented the app so that it dynamically loaded the correct localized resoures. I implemeted it in a way so the I can choose to localize on Locale (sub language & primary language) or primary language.
HINSTANCE g_hInst; HINSTANCE GetResHInstFormLangId(LANGID langId) { CString resDllName; resDllName.Format(_T( HINSTANCE hInst = LoadLibrary(resDllName); { LANGID priLangId = PRIMARYLANGID(langId); resDllName.Format(_T( hInst = LoadLibrary(resDllName); } } BOOL ClocalizedApp::InitInstance() { #if SHInitExtraControls(); #endif SetRegistryKey(_T( LANGID userLangId = GetUserDefaultUILanguage(); g_hInst = GetResHInstFormLangId(userLangId); { sysLangId = GetSystemDefaultUILanguage(); if(userL g_hInst = GetResHInstFormLangId(sysLangId); } AfxSetResourceHandle(g_hInst); ClocalizedDlg dlg; m_pMainWnd = &dlg; INT_PTR nResponse = dlg.DoModal(); { } } The drawback is of cause the all resource must be included in all localized resource dlls. If anyone has the solution to the previous thread post please respond. / Martin
銆銆鏈枃鏉ヨ嚜銆妋sdn寮鍙戠簿閫夈嬫潅蹇?005騫寸4鏈?#8220;鐗瑰埆絳栧垝”鏍忕洰
鐢ㄥ懡浠よ緙栬瘧閾炬帴紼嬪簭
Usage:
EVC [myprj.vcp|mywksp.vcw] - load project/workspace
[<filename>] - load source file
/? - display usage information
/EX <macroname> - execute a VBScript macro
/OUT <filename> - redirect command line output to a file
/USEENV - ignore tools.options.directories settings
/MAKE [<target>] [...] - build specified target(s)
[<project> - <platform> <configname>]
[[<project>|ALL] - [DEBUG|RELEASE|ALL]]
/CLEAN - delete intermediate files but don't build
/REBUILD - clean and build
/NORECURSE - don't build dependent projects
/CECONFIG [<configuration>] - use specified configuration
set EVC="D:\Program Files\Microsoft eMbedded Tools\Common\EVC\Bin\EVC.EXE" <-鎸囧悜EVC 3.0紼嬪簭鎵鍦ㄧ洰褰?br>set CFG=
set CECONFIG=
%EVC% Demo.vcw /make "%CFG%" /CEConfig=%CECONFIG% /rebuild <-鎵ц緙栬瘧騫剁敓鎴愮洰鏍囧彲鎵ц鏂囦歡
if errorlevel 1 goto :eof <-濡傛灉緙栬瘧澶辮觸鍒欑粓姝㈡壒澶勭悊
:pocketpc
set CFG=Demo - Win32 (WCE ARM) Release<-灝嗚榪涜緙栬瘧鐨勯」鐩悕縐板拰緙栬瘧鍑烘潵鐨勭洰鏍囦唬鐮佺殑騫沖彴鍜孋PU綾誨瀷銆傚叾涓?#8220;-”鍓嶉潰鐨勬槸欏圭洰鍚嶇О錛?#8220;-”鍚庨潰鐨勯儴鍒嗘槸騫沖彴鍜孋PU綾誨瀷浠ュ強緙栬瘧鐨勬槸Release鐗堣繕鏄疍ebug鐗堛傛牸寮忓彲浠ュ弬鐓у湪EVC鐨凚uild->Configurations涓殑鍐欐硶, EVC3 鍜?EVC4鐨勮〃杈炬柟寮忕暐鏈変笉鍚屻?br>set CECONFIG="Pocket PC" <-緙栬瘧PPC騫沖彴鐗堟湰
%EVC% Demo.vcw /make "%CFG%" /CEConfig=%CECONFIG% /rebuild
if errorlevel 1 goto :eof
set CFG=Demo - Win32 (WCE MIPS) Release
%EVC% Demo.vcw /make "%CFG%" /CEConfig=%CECONFIG% /rebuild
if errorlevel 1 goto :eof
set CFG=Demo - Win32 (WCE SH3) Release
%EVC% Demo.vcw /make "%CFG%" /CEConfig=%CECONFIG% /rebuild
if errorlevel 1 goto :eof
:sp2002
set CFG=DemoSP - Win32 (WCE ARM) Release
set CECONFIG="Smartphone 2002" <-緙栬瘧Smartphone騫沖彴鐗堟湰
%EVC% Demo.vcw /make "%CFG%" /CEConfig=%CECONFIG% /rebuild
if errorlevel 1 goto :eof
echo build successfully finished!!
pause鍒朵綔cab鏂囦歡
Signature = "$Windows NT$" <-蹇呴』鏄?Windows NT$鎴栬?Windows 98$, 涓嶈鏀瑰姩
Provider = "Demo Soft" <-鎻愪緵鍟? 瀹屾暣鐨勭▼搴忓悕瀛椾細鏄?<Provider> <AppName>"
CESignature = "$Windows CE$" <-蹇呴』鏄鍊?br>
[CEStrings] <-璇ユ涓昏鏄畾涔夊畨瑁呯▼搴忕敤鍒扮殑涓浜涘瓧絎︿覆,蹇呴』鏈夎孌?br>AppName = "DemoApp" <-紼嬪簭鐨勫悕瀛?br>InstallDir = “%CE1%\Octopus Studio\%AppName%” <-瀹氫箟紼嬪簭鍦ㄧ洰鏍囪澶囦腑鐨勫畨瑁呯洰褰?br>
[Strings] <-璇ユ鐢ㄤ簬鐢ㄦ埛鑷繁瀹氫箟鐨勫瓧絎︿覆, 璇ユ鍙?br>ExeBaseDir = "C:\ProjectHome\demo\Release\platform" <-鍜屽鉤鍙扮浉鍏崇殑鏂囦歡鏀懼湪榪欎釜鐩綍涓?br>CommonDir = "C:\ProjectHome\demo\Release" <-涓庡鉤鍙版棤鍏崇殑鏂囦歡鏀懼湪榪欎釜鐩綍閲?/p>
鐩綍鏍囪
鐩綍璺緞
%CE1%
\Program Files
%CE2%
\Windows
%CE4%
\Windows\StartUp
%CE5%
\My Documents
%CE8%
\Program Files\Games
%CE11%
\Windows\Start Menu\Programs
%CE14%
\Windows\Start Menu\Programs\Games
%CE15%
\Windows\Fonts
%CE17%
\Windows\Start Menu
%CE19%
\Application Data錛堜粎鐢ㄤ簬Smartphone)
ProcessorType = 2577 <-璇ョ洰鏍囪澶囨槸StrongARM CPU
UnsupportedPlatforms = “Smartphone”,"HPC","Jupiter","Palm PC2" <-涓嶆敮鎸乻marthphone鍜孒PC絳夋棫璁懼
VersionMin = 3.00 <-瀵瑰簲璁懼寰鋒搷浣滅郴緇熺殑鏈浣庣増鏈彿瑕佹眰鏄?.0,鐗堟湰鍙瘋鏄庤涓嬮潰鐨勮鏄?br>VersionMax = 5.00 <-鍋囪鎴戜滑鐨勭▼搴忚姹傜殑鎿嶄綔緋葷粺鏈楂樼増鏈彿鏄?.0
[CEDevice.MIPS]
ProcessorType = 4000 <-CPU瑕佹眰鏄?MIPS_R4000
UnsupportedPlatforms = “Smartphone”,"HPC","Jupiter","Palm PC2"
VersionMin = 3.00
VersionMax = 5.00
[CEDevice.SH3]
ProcessorType = 10003 <- CPU瑕佹眰鏄?Hitachi_SH3
UnsupportedPlatforms = “Smartphone”,"HPC","Jupiter","Palm PC2"
VersionMin = 3.00
VersionMax = 5.00
Platform
Platform type
Windows CE version
Smartphone 2003
Smartphone
4.2
Smartphone 2002
Smartphone
3.0
Pocket PC 2003
Pocket PC
4.2
Pocket PC 2002
Pocket PC
3.0
Pocket PC 2000
Palm PC2
3.0
Palm Size PC v2
Palm PC
2.11
Palm Size PC v1
Palm PC
2.1
Handheld PC 2000
Jupiter
3.0
Handheld PC Pro
Jupiter
2.11
Handheld PC
HPC
2.0
[SourceDisksNames.ARM] <-孌靛悕縐扮殑鍚庣紑涓庡墠闈㈢殑CEDevice孌電浉瀵瑰簲
2=, "SourceDisk02",,%ExeBaseDir%\ppc\arm
[SourceDisksNames.MIPS]
2=, "SourceDisk03",,%ExeBaseDir%\ppc\mips
[SourceDisksNames.SH3]
2=, "SourceDisk04",,%ExeBaseDir%\ppc\sh3
[SourceDisksFiles] <-璇存槑婧愭枃浠跺垎鍒斁鍦ㄤ粈涔堢洰褰曚笅,蹇呴』鏈夎孌?br>"demo.htm" = 1 <- 鏍煎紡涓?lt;filename> = <source ID>,鍏朵腑filename鏄枃浠跺悕錛孲ource ID鏄寚涓婇潰SourceDiskName涓畾涔夌殑婧愮洰褰旾D.“demo.htm”=1琛ㄧずdemo.htm鏂囦歡鏄斁鍦⊿ourceDiskNames閲屽畾涔夌殑%CommonDir%鐩綍閲屻?br>"demo.exe" = 2
"demo.dll" = 2
CopyFiles = Files.InstallDir, Files.Windows <-鎸囨槑闇瑕佽繘琛屾枃浠舵嫹璐濈殑璇存槑孌碉紝鍙傜湅涓嬮潰鐨勮鏄?br>CEShortcuts = Links <-鎸囧畾闇瑕佺敓鎴愮殑蹇嵎鏂瑰紡瀹氫箟. 闄や簡榪欒繛涓畨瑁呮搷浣滃錛屽紑鍙戜漢鍛樿繕鍙互鎸囧畾娉ㄥ唽琛ㄤ慨鏀?AddReg), 鑷畾鐨勫畨瑁?鍗歌澆鏃剁殑鍙墽琛屼唬鐮?CESetupDLL), 娉ㄥ唽DLL鏂囦歡(CESelfRegister).鍏蜂綋鍙互鍙傝僑DK甯姪鏂囦歡
[Files.InstallDir] <-鏂囦歡鎷瘋礉鎿嶄綔涓寚鏄庣殑鏂囦歡鎷瘋礉鎿嶄綔瀹氫箟,鐢ㄤ簬瀹氫箟姣忎釜鏂囦歡濡備綍琚嫹璐濆埌璁懼涓?br>"demo.htm",,,0x40000001 <- 鏍煎紡涓?lt;dest filename>,<source filename>,,<copy flags>, 鍏朵腑dest filename 琛ㄧず鎷瘋礉鍒扮洰鏍囪澶囧悗鏂囦歡鍚? source filename婧愭枃浠剁殑鏂囦歡鍚嶏紝濡傛灉涓虹┖鍒檇est filename鐢ㄦ潵琛ㄧず婧愭枃浠舵枃浠跺悕;copy flags琛ㄧず鎷瘋礉鏂囦歡鏃剁殑鏂瑰紡,璇ュ兼槸涓浜涙爣蹇椾綅鐨勭粍鍚堬紝鍙敤鐨勬爣蹇楀涓嬶細
鏍囧織
鍚箟
0x00000001
璀﹀憡鐢ㄦ埛濡傛灉鍦ㄦ嫹璐濊鏂囦歡鏃跺彂鐢熼敊璇? 鑰岀敤鎴烽噰鐢ㄨ煩榪囨搷浣滅殑璇?/td>
0x00000002
涓嶅厑璁哥敤鎴峰湪鎷瘋礉璇ユ枃浠舵椂鍙戠敓閿欒鎵嶅彇璺寵繃鎿嶄綔
0x00000010
褰撶洰鏍囩洰褰曚腑鏈夊悓鍚嶆枃浠跺瓨鍦ㄦ椂涓嶈繘琛岃鐩栨搷浣?/td>
0x00000400
褰撶洰鏍囩洰褰曞瓨鍦ㄥ悓鍚嶆枃浠舵椂鎵嶈繘琛屾嫹璐濓紙瑕嗙洊錛夋搷浣?/td>
0x20000000
濡傛灉鐩爣鏂囦歡姣旇鏂囦歡鏂板垯涓嶈繘琛屾嫹璐濇搷浣?/td>
0x40000000
鎷瘋礉鏂囦歡鏃朵笉媯鏌ユ枃浠舵棩鏈?/td>
0x80000000
鍒涘緩涓涓璇ユ枃浠剁殑閾炬帴錛屼富瑕佹槸鐢ㄤ簬鍏變韓dll鏂囦歡
[Files.Windows] <-鍚屼笂錛岀敤鎴峰畾涔夋枃浠舵嫹璐濇搷浣?br>"demo.dll",,,0x80000013
[DestinationDirs] <-瀹氫箟璁懼涓婄殑鐩爣鏂囦歡鐩綍
Files.InstallDir = 0,%InstallDir% <- 鏍煎紡涓?lt;section name> = 0,<dest directory>, 鍏朵腑section name 瀵瑰簲[DefaultInstall] CopyFiles涓殑鍊箋俤est directory鍒欐槸鐩爣璁懼涓婄殑鐩殑鐩綍銆備緥濡侳iles.InstallDir閲屽垪鍑虹殑鏂囦歡灝嗕細鎷瘋礉鍒扮洰鏍囪澶囩殑%InstallDir%鐩綍涓嬨?br>Files.Windows = 0, %CE2%
Links = 0, %CE11%
[Links] <- 璇ユ瀵瑰簲[DefaultInstall]涓瑿EShortcuts鐨勫畾涔夛紝鐢ㄦ潵璇存槑闇瑕佸垱寤虹殑蹇嵎鏂瑰紡
%AppName%,0,"demo.exe",%CE11% <- 鏍煎紡涓?lt;shortcut filename>,<shortcut type>,<target file/path>,<standard dest path>銆傚叾涓?shortcut filename鏄寚鐢熸垚鐨勫揩鎹鋒柟寮忕殑鏂囦歡鍚? shortcut type 鎸囨槑閾炬帴鐨勬槸鏂囦歡鍚嶈繕鏄洰褰?0琛ㄧず鏂囦歡錛岄潪0琛ㄧず鐩綍; target file/path 鏄寚琚摼鎺ョ殑鏂囦歡鐨勬枃浠跺悕鎴栬呯洰褰曡礬寰? standard dest path 鎸囧揩鎹鋒柟寮忓瓨鏀懼湪閭d釜鐩綍涓嬨?/p>
ProcessorType = 2577
UnsupportedPlatforms = “Pocket PC“,"HPC","Jupiter","Palm PC2" <-涓嶆敮鎸丳PC鍜孒PC絳夎澶?br>VersionMin = 3.00
VersionMax = 5.00
[SourceDisksNames]
1=, "SourceDisk01",,%CommonDir%
2=, "SourceDisk02",,%ExeBaseDir%\sp
[SourceDisksFiles]
"demo.htm" = 1
"demo.exe" = 2
"demo.dll" = 2
[/dest dest_directory]
[/err error_file]
[/cpu cpu_type [cpu_type]]
dest_directory – 鐢熸垚鐨刢ab鏂囦歡鐨勫瓨鏀捐礬寰勶紝濡備笉鎸囧畾鍒欑敓鎴愬湪inf鏂囦歡鎵鍦ㄧ洰褰?br>error_file – 閿欒鎶ュ憡鏂囦歡錛屽皢鎵鏈夌殑鎵ц淇℃伅閮借緭鍑哄埌璇ユ枃浠躲備笉鎸囧畾璇ュ弬鏁版椂錛屾墍鏈夌殑閿欒淇℃伅閮戒細鐢ㄦ秷鎭鏉ユ樉紺恒傝鍙傛暟涓昏鐢ㄤ簬鑷姩鍖栨瀯寤?br>cpu_type – 鎸囧畾闇瑕佺敓鎴愮殑CPU綾誨瀷錛岄渶瑕佷笌inf鏂囦歡涓畾涔夌殑CEDevice孌電殑鍚庣紑涓鑷淬傚彲浠ュ悓鏃舵寚瀹氬涓狢PU綾誨瀷鍒朵綔鑷姩瀹夎鎵ц鏂囦歡
Version = 1.0 <- 榪欎釜鏄疌eAppMgr紼嬪簭鐨勭増鏈彿錛屼笉鏄瀹夎鐨勮蔣浠剁殑鐗堟湰鍙?涓嶅繀淇敼
Component = Demo <- 杞歡鐨勬ā鍧?涓庝笅闈㈢殑孌電殑鍚嶇О涓鑷?br>
[Demo]
Description = Demo App For PPC <- 杞歡鐨勬弿榪?br>CabFiles = demo.arm.cab,demo.mips.cab,demo.sh3.cab <-鍒楀嚭闇瑕佹墍鏈夌殑cab鏂囦歡錛屾敞鎰忔枃浠跺悕涔嬮棿涓嶈鏈夌┖鏍?/p>
<-e eula.txt> <-o outputexe>
-l language 鏄寚瀹氬畨瑁呰繃紼嬩腑浣跨敤鐨勮璦錛屾殏鏃朵笉鏀寔涓枃錛屾墍浠ユ垜浠塃nglish
-i inifilename ini鏂囦歡鐨勫叏璺緞
-r readme.txt readme鏂囦歡鐨勫叏璺緞錛岀敤浜庡湪瀹夎榪囩▼涓樉紺虹粰鐢ㄦ埛
-e eula.txt鏈緇堢敤鎴鋒巿鏉冨崗璁枃浠剁殑鍏ㄨ礬寰勶紝鐢ㄤ簬瀹夎榪囩▼涓巿鏉冨崗璁晫闈㈢殑鏄劇ず
-o outputexe 鐢熸垚鐨別xe鏂囦歡鐨勫悕縐?/p>
鑷姩鍖栨瀯寤?/h2>
]]>
]]>
// MultiByteToWideChar鍜學ideCharToMultiByte鐢ㄦ硶璇﹁В
//AUTHOR:
// norains
//DATE:
// 絎竴鐗?Monday 25-December -2006
// 澧炶ˉ鐗?Wednesday 27-December -2006
// 淇鐗?Wednesday 14-March-2007 (淇涔嬪墠鐨勯敊璇緥瀛?
// 鍐嶆淇鐗?Tuesday 18-September-2007 (淇浠g爜鐨勫弬鏁伴敊璇?
//Environment:
// EVC4.0 + Standard SDK
//========================================================================
1.浣跨敤鏂規硶璇﹁В
鍦ㄦ湰鏂囧紑濮嬩箣澶?鍏堢畝瑕佸湴璇翠竴涓嬩綍涓虹煭瀛楃鍜屽瀛楃.
鎵璋撶殑鐭瓧絎?灝辨槸鐢?bit鏉ヨ〃紺虹殑瀛楃,鍏稿瀷鐨勫簲鐢ㄦ槸ASCII鐮?鑰屽瀛楃,欏懼悕鎬濅箟,灝辨槸鐢?6bit琛ㄧず鐨勫瓧絎?鍏稿瀷鐨勬湁UNICODE.鍏充簬windows涓嬬殑ASCII鍜孶NICODE鐨勬洿澶氫俊鎭?鍙互鍙傝冭繖涓ゆ湰緇忓吀钁椾綔:銆妛indows 紼嬪簭璁捐銆?銆妛indows 鏍稿績緙栫▼銆?榪欎袱鏈功鍏充簬榪欎袱縐嶅瓧絎﹂兘鏈夋瘮杈冭緇嗙殑瑙h.
瀹藉瓧絎﹁漿鎹負澶氫釜鐭瓧絎︽槸涓涓毦鐐?涓嶈繃鎴戜滑鍙鎺屾彙鍒板叾涓殑瑕侀,渚垮彲濡傞奔寰楁按.
濂藉惂,閭e氨璁╂垜浠紑濮嬪惂.
榪欎釜鏄垜浠渶瑕佽漿鍖栫殑澶氬瓧鑺傚瓧絎︿覆:
char sText[20] = {"澶氬瓧鑺傚瓧絎︿覆!OK!"};
鎴戜滑闇瑕佺煡閬撹漿鍖栧悗鐨勫瀛楃闇瑕佸灝戜釜鏁扮粍絀洪棿.铏界劧鍦ㄨ繖涓噷紼嬮噷闈?鎴戜滑鍙互鐩存帴瀹氫箟涓涓?0*2瀹藉瓧絎︾殑鏁扮粍,騫朵笖浜嬪疄涓婂皢榪愯寰楅潪甯歌交鏉炬剦蹇?浣嗗亣濡傚瀛楄妭瀛楃涓叉洿澶?杈懼埌涓婂崈涓箖鑷充笂涓囦釜,鎴戜滑灝嗕細鍙戠幇鍏朵腑嫻垂鐨勫唴瀛樺皢浼氳秺鏉ヨ秺澶?鎵浠ヤ互澶氬瓧鑺傚瓧絎︾殑涓暟鐨勪袱鍊嶄綔涓哄瀛楃鏁扮粍涓嬫爣鐨勫0鏄庣粷瀵逛笉鏄竴涓ソ涓繪剰.
鎵騫?鎴戜滑鑳藉紜煡鎵闇瑕佺殑鏁扮粍絀洪棿.
鎴戜滑鍙渶瑕佸皢MultiByteToWideChar()鐨勭鍥涗釜褰㈠弬璁句負-1,鍗沖彲榪斿洖鎵闇鐨勭煭瀛楃鏁扮粍絀洪棿鐨勪釜鏁?
DWORD dwNum = MultiByteToWideChar (CP_ACP, 0, sText, -1, NULL, 0);
鎺ヤ笅鏉?鎴戜滑鍙渶瑕佸垎閰嶅搷搴旂殑鏁扮粍絀洪棿:
wchar_t *pwText;
pwText = new wchar_t[dwNum];
if(!pwText)
{
delete []pwText;
}
鎺ョ潃,鎴戜滑灝卞彲浠ョ潃鎵嬭繘琛岃漿鎹簡.鍦ㄨ繖閲屼互杞崲鎴怉SCII鐮佸仛涓轟緥瀛?
MultiByteToWideChar (CP_ACP, 0, sText, -1, pwText, dwNum);
鏈鍚?浣跨敤瀹屾瘯褰撶劧瑕佽寰楅噴鏀懼崰鐢ㄧ殑鍐呭瓨:
delete []pwText;
鍚岀悊,瀹藉瓧絎﹁漿涓哄瀛楄妭瀛楃鐨勪唬鐮佸涓?
wchar_t wText[20] = {L"瀹藉瓧絎﹁漿鎹㈠疄渚?OK!"};
DWORD dwNum = WideCharToMultiByte(CP_OEMCP,NULL,wText,-1,NULL,0,NULL,FALSE);
char *psText;
psText = new char[dwNum];
if(!psText)
{
delete []psText;
}
WideCharToMultiByte (CP_OEMCP,NULL,wText,-1,psText,dwNum,NULL,FALSE);
delete []psText;
濡傛灉涔嬪墠鎴戜滑宸茬粡鍒嗛厤濂界┖闂?騫朵笖鐢變簬瀛楃涓茶緝鐭?鍙互涓嶇悊浼氭氮璐圭殑絀洪棿,浠呬粎鍙槸鎯崇畝鍗曞湴灝嗙煭瀛楃鍜屽瀛楃鐩鎬簰杞崲,閭f湁娌℃湁浠涔堢畝渚跨殑鏂規硶鍛?
WIN32 API閲屾病鏈夌鍚堣繖縐嶈姹傜殑鍑芥暟,浣嗘垜浠彲浠ヨ嚜宸辮繘琛屽皝瑁?
//-------------------------------------------------------------------------------------
//Description:
// This function maps a character string to a wide-character (Unicode) string
//
//Parameters:
// lpcszStr: [in] Pointer to the character string to be converted
// lpwszStr: [out] Pointer to a buffer that receives the translated string.
// dwSize: [in] Size of the buffer
//
//Return Values:
// TRUE: Succeed
// FALSE: Failed
//
//Example:
// MByteToWChar(szA,szW,sizeof(szW)/sizeof(szW[0]));
//---------------------------------------------------------------------------------------
BOOL MByteToWChar(LPCSTR lpcszStr, LPWSTR lpwszStr, DWORD dwSize)
{
// Get the required size of the buffer that receives the Unicode
// string.
DWORD dwMinSize;
dwMinSize = MultiByteToWideChar (CP_ACP, 0, lpcszStr, -1, NULL, 0);
if(dwSize < dwMinSize)
{
return FALSE;
}
// Convert headers from ASCII to Unicode.
MultiByteToWideChar (CP_ACP, 0, lpcszStr, -1, lpwszStr, dwMinSize);
return TRUE;
}
//-------------------------------------------------------------------------------------
//Description:
// This function maps a wide-character string to a new character string
//
//Parameters:
// lpcwszStr: [in] Pointer to the character string to be converted
// lpszStr: [out] Pointer to a buffer that receives the translated string.
// dwSize: [in] Size of the buffer
//
//Return Values:
// TRUE: Succeed
// FALSE: Failed
//
//Example:
// MByteToWChar(szW,szA,sizeof(szA)/sizeof(szA[0]));
//---------------------------------------------------------------------------------------
BOOL WCharToMByte(LPCWSTR lpcwszStr, LPSTR lpszStr, DWORD dwSize)
{
DWORD dwMinSize;
dwMinSize = WideCharToMultiByte(CP_OEMCP,NULL,lpcwszStr,-1,NULL,0,NULL,FALSE);
if(dwSize < dwMinSize)
{
return FALSE;
}
WideCharToMultiByte(CP_OEMCP,NULL,lpcwszStr,-1,lpszStr,dwSize,NULL,FALSE);
return TRUE;
}
浣跨敤鏂規硶涔熷緢綆鍗?紺轟緥濡備笅:
wchar_t wText[10] = {L"鍑芥暟紺轟緥"};
char sText[20]= {0};
WCharToMByte(wText,sText,sizeof(sText)/sizeof(sText[0]));
MByteToWChar(sText,wText,sizeof(wText)/sizeof(wText[0]));
榪欎袱涓嚱鏁扮殑緙虹偣鍦ㄤ簬鏃犳硶鍔ㄦ佸垎閰嶅唴瀛?鍦ㄨ漿鎹㈠緢闀跨殑瀛楃涓叉椂鍙兘浼氭氮璐硅緝澶氬唴瀛樼┖闂?浼樼偣鏄?鍦ㄤ笉鑰冭檻嫻垂絀洪棿鐨勬儏鍐典笅杞崲杈冪煭瀛楃涓查潪甯告柟渚?
2.MultiByteToWideChar()鍑芥暟涔辯爜鐨勯棶棰?br>
鏈夌殑鏈嬪弸鍙兘宸茬粡鍙戠幇,鍦ㄦ爣鍑嗙殑WinCE4.2鎴朩inCE5.0 SDK妯℃嫙鍣ㄤ笅,榪欎釜鍑芥暟閮芥棤娉曟甯稿伐浣?鍏惰漿鎹箣鍚庣殑瀛楃鍏ㄦ槸涔辯爜.鍙婃椂鏇存敼MultiByteToWideChar()鍙傛暟涔熶緷鐒跺姝?
涓嶈繃榪欎釜涓嶆槸浠g爜闂,鍏剁粨鐥囧湪浜庢墍瀹氬埗鐨勬搷浣滅郴緇?濡傛灉鎴戜滑瀹氬埗鐨勬搷浣滅郴緇熼粯璁よ璦涓嶆槸涓枃,涔熶細鍑虹幇榪欑鎯呭喌.鐢變簬鏍囧噯鐨凷DK榛樿璇█涓鴻嫳鏂?鎵浠ヨ偗瀹氫細鍑虹幇榪欎釜闂.鑰岃繖涓棶棰樼殑瑙e喅,涓嶈兘鍦ㄧ畝鍗曞湴鏇存敼鎺у埗闈㈡澘鐨?鍖哄煙閫夐」"鐨?榛樿璇█",鑰屾槸瑕佸湪緋葷粺瀹氬埗鐨勬椂鍊?閫夋嫨榛樿璇█涓?涓枃".
緋葷粺瀹氬埗鏃墮夋嫨榛樿璇█鐨勪綅緗簬:
Platform -> Setting... -> locale -> default language ,閫夋嫨"涓枃",鐒跺悗緙栬瘧鍗沖彲.
鎽樿嚜:
http://blog.csdn.net/norains/archive/2006/12/25/1461174.aspx
]]>
To test, I create a Swedish resource dll/mui file with one resource item changed.
I'm not really sure if the technique used in MuiHello can be appliced on MFC applications or not.
I have named the out put file for my dll project to MyApp.exe.04d1.mui and placed it in the exe directory of the application.
When I execute the application (MyApp.exe) in a Smartphone with user language set to Swedish, the swedish resource is not loaded.
Originally I made resource-only dlls with no entry point but as the sample MuiHello has an entry point I have also tried to add this.
I have also tried out the things found here, "Localized Resources in MFC Applications: Satellite DLLs"
but with no success.
I have tried out the following:
The result is the same, the Swedish resource is not loaded.
If I explicitly load the Swedish resource dll and use AfxSetResourceHandle it works, but that is not just good enough.
I have checked that the GetUserDefaultUILanguage() returns 0x04d1(Swedish)
Been stuck with this for two days now and getting really frustrated.
Does anyone know what I am doing wrong or how to do it in MFC?
Any pointers and directions are appreciated.
Cheers
Martin
"res%04x.dll"), langId);
andId != sysLangId)
宓屽叆寮忕郴緇熺殑璁捐鏄嬌鐢ㄤ竴緇勭墿鐞嗙‖浠跺拰杞歡鏉ュ畬鎴愭墍闇鍔熻兘鐨勮繃紼嬶紝鎵浠ュ湪涓涓祵鍏ュ紡緋葷粺鐨勮璁¤繃紼嬩腑錛岃蔣浠惰璁″拰紜歡璁捐鏄揣瀵嗙粨鍚堛佺浉浜掑崗璋冪殑銆傚湪璁捐鏃訛紝浠庣郴緇熷姛鑳界殑瀹炵幇鍑哄彂錛岃鎶婅蔣紜歡鍚屾椂鑰冭檻榪涘幓銆?/span>涓涓熀浜?/span>Windows CE鐨勫祵鍏ュ紡緋葷粺寮鍙戠殑涓昏鍐呭鏈夛細
錛?/span>1錛夎璁$郴緇熺‖浠躲?/span>
錛?/span>2錛夊皢Windows CE鎿嶄綔緋葷粺縐繪鍒扮洰鏍囩‖浠跺鉤鍙頒笂銆?/span>
錛?/span>3錛夊緩绔嬩氦鍙夎皟璇曢氶亾錛岀紪鍐欏拰璋冭瘯搴旂敤紼嬪簭浠g爜銆?br>
鎴戜滑鍙互鐢ㄤ笅鍥?/span>鏉ユ弿榪板叿浣撶殑寮鍙戞祦紼嬶細
鍥? 鍩轟簬Windows CE鐨勫祵鍏ュ紡緋葷粺寮鍙戞祦紼?/span>
鍩轟簬Windows CE鐨勮蔣浠跺紑鍙戞ā寮忔瘮杈冪粺涓錛岄氬父浣跨敤Platform Builder瀹氬埗鍑洪拡瀵圭壒瀹氱‖浠跺鉤鍙扮殑鎿嶄綔緋葷粺鏄犲儚鏂囦歡NK.bin錛屼嬌鐢?/span>Embedded VC++鎴?/span>Visual Stidio.net寮鍙戜笂灞傜殑搴旂敤杞歡銆傚祵鍏ュ紡緋葷粺灞傝蔣浠跺紑鍙戣繃紼嬪搴斾簬Windows CE鎿嶄綔緋葷粺鍦ㄧ洰鏍囩‖浠跺鉤鍙頒笂鐨勭Щ妞嶅拰瀹氬埗榪囩▼錛屽祵鍏ュ紡搴旂敤灞傝蔣浠剁殑瀹炵幇鍗?/span>Windows CE搴旂敤紼嬪簭鐨勫紑鍙戣繃紼嬨?br>
杞嚜錛?a href="http://www.shnenglu.com/milkyway/archive/2008/10/28/65397.html">http://www.shnenglu.com/milkyway/archive/2008/10/28/65397.html
鑷繁鍋歮obile寮鍙戠殑錛屽浜巜ce涓嶆槸寰堜簡瑙c傛敹钘忎笅鏉ワ紝瀛︿範瀛︿範銆?br>
钃濈墮璁懼鐨勪笁縐嶇姸鎬?br>enum BTH_RADIO_MODE {
BTH_POWER_OFF,
BTH_CONNECTABLE,
BTH_DISCOVERABLE
};
API浠嬬粛
BthGetMode
浣滅敤錛?br>This function is used to retrieve the current mode of operation of the Bluetooth radio.
鍘熷瀷錛?br>int BthGetMode(DWORD* pdwMode);
榪斿洖鍊?/em>錛?br>Returns ERROR_SUCCESS on success or returns an error code on failure.
BthSetMode
浣滅敤錛?br>This function is used to set the Bluetooth mode of operation and reflect it in the control panel. This function is also used
to persist that state across hardware insertion and reboot.
鍘熷瀷錛?br>int BthSetMode(DWORD dwMode );
榪斿洖鍊?/em>錛?br>Returns ERROR_SUCCESS on success or returns an error code on failure.
鐜錛?br>OS Versions: Windows CE .NET 4.2 and later
Header: Declared in bthutil.h
Library: Use bthutil.lib
浠g爜紺轟緥錛?/span> 絎竴姝?/strong>錛?/p>
棣栧厛闇瑕佹坊鍔犲ご鏂囦歡鍜屽簱鏂囦歡 絎簩姝?/strong>錛?/p>
鑾峰彇钃濈墮璁懼鐘舵?/p>
鍔熻兘錛氳幏鍙栬摑鐗欒澶囩姸鎬侊紝濡傛灉璁懼鐘舵佹槸鍏抽棴鐨勶紝鍒欏皢鍏惰涓哄彲鍙戠幇銆傝緗槸鍚︽垚鍔燂紝緇欏嚭鎻愮ず銆?/p>
#include <bthutil.h>
#pragma comment(lib, "bthutil.lib")
if (ERROR_SUCCESS == BthGetMode(&bthState))
{
if (bthState == BTH_POWER_OFF)
{
if (ERROR_SUCCESS == BthSetMode(BTH_DISCOVERABLE))
{
MessageBox(NULL, _T("success"), _T("Note"), MB_OK);
}
else
{
MessageBox(NULL, _T("failed"), _T("Note"), MB_OK);
}
}
}
璁劇疆钃濈墮鐘舵佹槸鍦ㄦā鎷熷櫒涓婅繘琛岀殑錛屾病鏈夎緗垚鍔燂紝榪欐槸鐢變簬妯℃嫙鍣ㄤ笂娌℃湁瀹夎钃濈墮璁懼閫犳垚鐨勩?br>
榪橀渶瑕佺戶緇涔犮?br>
]]>