锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
]]>
銆 COM鏄疌omponent Object Model 錛堢粍浠跺璞℃ā鍨嬶級鐨勭緝鍐欍?/strong>
銆銆鐢ㄦ埛闇瑕佷粈涔堟牱鐨勮蔣浠朵駭鍝侊紵榪欐槸涓涓閫夐錛屼絾楂樻晥錛屽仴澹槸鑲畾浼氳閫夌鐨勩備綔涓轟竴鍚嶈蔣浠跺紑鍙戜漢鍛樺浣曞仛鎵嶈兘婊¤凍鐢ㄦ埛鐨勯渶瑕佸憿錛熷繀欏昏淇濊瘉鍗囩駭搴旂敤鏃朵笉鐮村潖涓庝互鍓嶇増鏈殑鍚戝悗鍏煎鎬с傚繀欏誨仛鍒版墿灞曠郴緇熸湇鍔℃椂涓嶄緷璧栫壒瀹氱殑鎿嶄綔緋葷粺銆傞潰鍚戝璞$殑紼嬪簭璁捐鏄劇劧鏄竴嬈¢潻鍛芥х殑鏀瑰彉銆傞噰鐢ㄩ潰鍚戝璞$殑璁捐鏂規硶鎴戜滑鍙互寰堝鏄撶殑鎶婅瑙e喅鐨勯棶棰樹簨鐗╂娊璞℃垚鍚勭綾伙紝騫跺皢鍐呴儴鍔ㄤ綔灝佽闅愯棌璧鋒潵錛屽彧鎻愪緵涓浜涙帴鍙c備絾榪欏茍娌℃湁瀹屽叏瑙e喅鎴戜滑鐨勯棶棰樸傛槰澶╂垜鍦ㄣ婄▼搴忓憳銆嬫潅蹇椾笂鐪嬪埌錛岀幇鍦ㄦ槸鍚嶰O鏃朵唬錛岄偅OO浠ュ悗鏄粈涔堝憿錛熷簲璇ユ槸闈㈠悜緇勪歡鍚с?/p>
銆銆COM component錛圕OM緇勪歡錛?/strong>
銆銆COM鏄井杞叕鍙鎬負浜嗚綆楁満宸ヤ笟鐨勮蔣浠剁敓浜ф洿鍔犵鍚堜漢綾葷殑琛屼負鏂瑰紡寮鍙戠殑涓縐嶆柊鐨勮蔣浠跺紑鍙戞妧鏈傚湪COM鏋勬灦涓嬶紝浜轟滑鍙互寮鍙戝嚭鍚勭鍚勬牱鐨勫姛鑳戒笓涓鐨勭粍浠訛紝鐒跺悗灝嗗畠浠寜鐓ч渶瑕佺粍鍚堣搗鏉ワ紝鏋勬垚澶嶆潅鐨勫簲鐢ㄧ郴緇熴傜敱姝ゅ甫鏉ョ殑濂藉鏄鏂歸潰鐨勶細鍙互灝嗙郴緇熶腑鐨勭粍浠剁敤鏂扮殑鏇挎崲鎺夛紝浠ヤ究闅忔椂榪涜緋葷粺鐨勫崌綰у拰瀹氬埗錛涘彲浠ュ湪澶氫釜搴旂敤緋葷粺涓噸澶嶅埄鐢ㄥ悓涓涓粍浠訛紱鍙互鏂逛究鐨勫皢搴旂敤緋葷粺鎵╁睍鍒扮綉緇滅幆澧冧笅錛汣OM涓庤璦錛屽鉤鍙版棤鍏崇殑鐗規т嬌鎵鏈夌殑紼嬪簭鍛樺潎鍙厖鍒嗗彂鎸ヨ嚜宸辯殑鎵嶆櫤涓庝笓闀跨紪鍐欑粍浠舵ā鍧楋紱絳夌瓑銆?
銆銆COM鏄紑鍙戣蔣浠剁粍浠剁殑涓縐嶆柟娉曘傜粍浠跺疄闄呬笂鏄竴浜涘皬鐨勪簩榪涘埗鍙墽琛岀▼搴忥紝瀹冧滑鍙互緇欏簲鐢ㄧ▼搴忥紝鎿嶄綔緋葷粺浠ュ強鍏朵粬緇勪歡鎻愪緵鏈嶅姟銆傚紑鍙戣嚜瀹氫箟鐨凜OM緇勪歡灝卞鍚屽紑鍙戝姩鎬佺殑錛岄潰鍚戝璞$殑API銆傚涓狢OM瀵硅薄鍙互榪炴帴璧鋒潵褰㈡垚搴旂敤紼嬪簭鎴栫粍浠剁郴緇熴傚茍涓旂粍浠跺彲浠ュ湪榪愯鏃跺埢錛屽湪涓嶈閲嶆柊閾炬帴鎴栫紪璇戝簲鐢ㄧ▼搴忕殑鎯呭喌涓嬭鍗鎬笅鎴栨浛鎹㈡帀銆侻icrosoft鐨勮澶氭妧鏈紝濡侫ctiveX, DirectX浠ュ強OLE絳夐兘鏄熀浜嶤OM鑰屽緩绔嬭搗鏉ョ殑銆傚茍涓擬icrosoft鐨勫紑鍙戜漢鍛樹篃澶ч噺浣跨敤COM緇勪歡鏉ュ畾鍒朵粬浠殑搴旂敤紼嬪簭鍙婃搷浣滅郴緇熴?/p>
銆銆COM鎵鍚殑姒傚康騫朵笉姝㈡槸鍦∕icrosoft Windows鎿嶄綔緋葷粺涓嬫墠鏈夋晥銆侰OM騫朵笉鏄竴涓ぇ鐨凙PI錛屽畠瀹為檯涓婅薄緇撴瀯鍖栫紪紼嬪強闈㈠悜瀵硅薄緙栫▼鏂規硶閭f牱錛屼篃鏄竴縐嶇紪紼嬫柟娉曘傚湪浠諱綍涓縐嶆搷浣滅郴緇熶腑錛屽紑鍙戜漢鍛樺潎鍙互閬靛驚“COM鏂規硶”銆?/p>
銆銆涓涓簲鐢ㄧ▼搴忛氬父鏄敱鍗曚釜鐨勪簩榪涘埗鏂囦歡緇勬垚鐨勩傚綋緙栬瘧鍣ㄧ敓鎴愬簲鐢ㄧ▼搴忎箣鍚庯紝鍦ㄥ涓嬩竴涓増鏈噸鏂扮紪璇戝茍鍙戣鏂扮敓鎴愮殑鐗堟湰涔嬪墠錛屽簲鐢ㄧ▼搴忎竴鑸笉浼氬彂鐢熶換浣曞彉鍖栥傛搷浣滅郴緇燂紝紜歡鍙婂鎴烽渶姹傜殑鏀瑰彉閮藉繀欏葷瓑鍒版暣涓簲鐢ㄧ▼搴忚閲嶆柊鐢熸垚銆?/p>
銆銆鐩墠榪欑鐘跺喌宸茬粡鍙戠敓鍙樺寲銆傚紑鍙戜漢鍛樺紑濮嬪皢鍗曚釜鐨勫簲鐢ㄧ▼搴忓垎闅旀垚鍗曠嫭澶氫釜鐙珛鐨勯儴鍒嗭紝涔熸棦緇勪歡銆傝繖縐嶅仛娉曠殑濂藉鏄彲浠ラ殢鐫鎶鏈殑涓嶆柇鍙戝睍鑰岀敤鏂扮殑緇勪歡鍙栦唬宸叉湁鐨勭粍浠躲傛鏃剁殑搴旂敤紼嬪簭鍙互闅忔柊緇勪歡涓嶆柇鍙栦唬鏃х殑緇勪歡鑰屾笎瓚嬪畬鍠勩傝屼笖鍒╃敤宸叉湁鐨勭粍浠訛紝鐢ㄦ埛榪樺彲浠ュ揩閫熺殑寤虹珛鍏ㄦ柊鐨勫簲鐢ㄣ?/p>
銆銆浼犵粺鐨勫仛娉曟槸灝嗗簲鐢ㄧ▼搴忓垎鍓叉垚鏂囦歡錛屾ā鍧楁垨綾伙紝鐒跺悗灝嗗畠浠紪璇戝茍閾炬帴鎴愪竴涓崟妯″簲鐢ㄧ▼搴忋傚畠涓庣粍浠跺緩绔嬪簲鐢ㄧ▼搴忕殑榪囩▼錛堢О涓虹粍浠舵瀯鏋訛級鏈夊緢澶х殑涓嶅悓銆備竴涓粍浠跺悓涓涓井鍨嬪簲鐢ㄧ▼搴忕被浼鹼紝鍗抽兘鏄凡緇忕紪璇戦摼鎺ュソ騫跺彲浠ヤ嬌鐢ㄧ殑浜岃繘鍒朵唬鐮侊紝搴旂敤紼嬪簭灝辨槸鐢卞涓繖鏍風殑緇勪歡鎵撳寘鑰屽緱鍒扮殑銆傚崟妯″簲鐢ㄧ▼搴忓彧鏈変竴涓簩榪涘埗浠g爜妯″潡銆傝嚜瀹氫箟緇勪歡鍙互鍦ㄨ繍琛屾椂鍒誨悓鍏朵粬鐨勭粍浠惰繛鎺ヨ搗鏉ヤ互鏋勬垚鏌愪釜搴旂敤紼嬪簭銆傚湪闇瑕佸搴旂敤紼嬪簭榪涜淇敼鎴栨敼榪涙椂錛屽彧闇瑕佸皢鏋勬垚姝ゅ簲鐢ㄧ▼搴忕殑緇勪歡涓殑鏌愪釜鐢ㄦ柊鐨勭増鏈浛鎹㈡帀鍗沖彲銆?/p>
銆銆COM錛屽嵆緇勪歡瀵硅薄妯″瀷錛屾槸鍏充簬濡備綍寤虹珛緇勪歡浠ュ強濡備綍閫氳繃緇勪歡寤虹珛搴旂敤紼嬪簭鐨勪竴涓鑼冿紝璇存槑浜嗗浣曞彲鍔ㄦ佷氦鏇挎洿鏂扮粍浠躲?br>
銆銆浣跨敤緇勪歡鐨勪紭鐐癸細
銆銆緇勪歡鏋舵瀯鐨勪竴涓紭鐐瑰氨鏄簲鐢ㄥ彲浠ラ殢鏃墮棿鐨勬祦閫濊屽彂灞曡繘鍖栥傞櫎姝や箣澶栵紝浣跨敤緇勪歡榪樻湁涓浜涘彲浠ヤ嬌瀵逛互鏈夊簲鐢ㄧ殑鍗囩駭鏇村姞鏂逛究鍜岀伒媧葷殑浼樼偣錛屽搴旂敤鐨勫畾鍒訛紝緇勪歡搴撲互鍙婂垎甯冨紡緇勪歡絳夈?/p>
銆銆浣跨敤緇勪歡鐨勭縐嶄紭鐐圭洿鎺ユ潵婧愪簬鍙互灝嗗畠浠姩鎬佺殑鎻掑叆鎴栧嵏鍑哄簲鐢ㄣ備負浜嗗疄鐜拌繖縐嶅姛鑳斤紝鎵鏈夌殑緇勪歡蹇呴』婊¤凍涓や釜鏉′歡錛氱涓錛岀粍浠跺繀欏誨姩鎬侀摼鎺ワ紱絎簩錛屽畠浠繀欏婚殣钘忥紙鎴栧皝瑁咃級鍏跺唴閮ㄥ疄鐜扮粏鑺傘傚姩鎬侀摼鎺ュ浜庣粍浠惰岃█鏄竴涓嚦鍏抽噸瑕佺殑瑕佹眰錛岃屾秷鎭殣钘忓垯鏄姩鎬侀摼鎺ョ殑涓涓繀瑕佹潯浠躲?
銆銆琛ュ厖:COM緇勪歡鐢變互Win 32鍔ㄦ佽繛鎺ュ簱錛圖LL錛夋垨鍙墽琛屾枃浠訛紙EXE錛夊艦寮忓彂甯冪殑鍙墽琛屼唬鐮佹墍緇勬垚銆傞伒寰狢OM瑙勮寖緙栧啓鍑烘潵鐨勭粍浠跺皢鑳藉婊¤凍瀵圭粍浠舵灦鏋勭殑鎵鏈夎姹傘侰OM緇勪歡鍙互緇欏簲鐢ㄧ▼搴忋佹搷浣滅郴緇熶互鍙婂叾浠栫粍浠舵彁渚涙湇鍔★紱鑷畾涔夌殑COM緇勪歡鍙互鍦ㄨ繍琛屾椂鍒誨悓鍏朵粬緇勪歡榪炴帴璧鋒潵鏋勬垚鏌愪釜搴旂敤紼嬪簭錛汣OM緇勪歡鍙互鍔ㄦ佺殑鎻掑叆鎴栧嵏鍑哄簲鐢ㄣ?/p>
銆銆鎭舵剰緗戠珯鍙互鍒╃敤鍚湁婕忔礊鐨刢om緇勪歡鎺ュ彛錛屼笅杞芥湪椹紝騫朵笖鎵ц錛?/p>
銆銆紱佺敤com緇勪歡涓鑸槸鎸囪緗簡Kill浣嶏紝鍗矷E嫻忚鍣ㄤ笉鑳戒嬌鐢ㄨ繖涓粍浠訛紝閫氫織璁詫細閫氳繃璁劇疆Kill浣嶏紝鍙互浣縄nternetExplorer鍦ㄤ嬌鐢ㄩ粯璁よ緗椂姘鎬笉璋冪敤琚鐢ㄧ殑com緇勪歡錛屼粠鑰岀姝㈣鎺т歡鍦↖nternet Explorer涓繍琛屻傜鐢ㄥ惈鏈夋紡媧炵殑com緇勪歡鍚庯紝IE灝變笉鑳借皟鐢ㄥ惈鏈夋紡媧炵殑COM緇勪歡錛涢粦瀹㈠埄鐢ㄦ湁婕忔礊鐨凜OM緇勶紝鍐欐垚鐨勭綉欏典唬鐮佸氨涓嶈兘鍦↖E涓鎵ц錛屾湪椹瓑灝嗕笉浼氳涓嬭澆銆?br>
銆銆紱佺敤com緇勪歡鍙兘瀵艱嚧鐨勯棶棰橈細
銆銆鍦ㄧ嚎鎾斁鍔熻兘鐨勭粍浠惰紱佺敤錛屼細瀵艱嚧鍦ㄧ嚎鐢靛獎絳夊湪綰胯棰戞棤娉曟甯歌鐪嬶紱
銆銆鍦ㄧ嚎鏉姣掑姛鑳界殑緇勪歡琚鐢紝浼氬鑷村湪綰挎潃姣掍笉鑳戒嬌鐢紱
銆銆鍦ㄧ嚎娓告垙鍔熻兘鐨勭粍浠惰紱佺敤錛屼細瀵艱嚧鍦ㄧ嚎娓告垙鏃犳硶鐜?
銆銆com緇勪歡紱佺敤鍚庣殑鍏蜂綋鎯呭喌錛岄渶瑕佹牴鎹叿浣撶殑com緇勪歡鍔熻兘浣滃垽鏂?br>
銆銆鎵嬪姩鍚姩COM緇勪歡鎿嶄綔鏂規硶:
銆銆榪愯鈥斺攔egedit鈥斺旀壘鍒拌紱佺敤鐨刢om緇勪歡瀵瑰簲鐨刢lsid|娉ㄥ唽琛ㄩ敭鍊尖斺斿垹闄ゅ叿浣撳鹼紝鎴栬呮暣涓敭銆?br>
銆銆鍒氬垰璇誨畬銆奀OM鎶鏈唴騫曘嬩竴涔︼紝鏁寸悊浜嗕竴涓狥AQ錛屼緵澶у鍦ㄥ涔犳涔︽椂鍙傝冦?/strong>
銆銆榪欐槸絎竴閮ㄥ垎錛屽寘鍚墠3绔犵殑鍐呭銆?/p>
銆銆FAQ1錛氫粈涔堟槸COM緇勪歡錛熴栫涓绔犮?/strong>
銆銆Answer:
銆銆COM緇勪歡鏄互WIN32鍔ㄦ侀摼鎺ュ簱錛圖LL錛夋垨鍙墽琛屾枃浠訛紙EXE錛夊艦寮忓彂甯冪殑鍙墽琛屼唬鐮佺粍鎴愩?/p>
銆銆COM緇勪歡鏄伒寰狢OM瑙勮寖緙栧啓鐨?/p>
銆銆COM緇勪歡鏄竴浜涘皬鐨勪簩榪涘埗鍙墽琛屾枃浠?/p>
銆銆COM緇勪歡鍙互緇欏簲鐢ㄧ▼搴忋佹搷浣滅郴緇熶互鍙婂叾浠栫粍浠舵彁渚涙湇鍔?/p>
銆銆鑷畾涔夌殑COM緇勪歡鍙互鍦ㄨ繍琛屾椂鍒誨悓鍏朵粬緇勪歡榪炴帴璧鋒潵鏋勬垚鏌愪釜搴旂敤紼嬪簭
銆銆COM緇勪歡鍙互鍔ㄦ佺殑鎻掑叆鎴栧嵏鍑哄簲鐢?/p>
銆銆COM緇勪歡蹇呴』鏄姩鎬侀摼鎺ョ殑
銆銆COM緇勪歡蹇呴』闅愯棌錛堝皝瑁咃級鍏跺唴閮ㄥ疄鐜扮粏鑺?/p>
銆銆COM緇勪歡蹇呴』灝嗗叾瀹炵幇鐨勮璦闅愯棌
銆銆COM緇勪歡蹇呴』浠ヤ簩榪涘埗鐨勫艦寮忓彂甯?/p>
銆銆COM緇勪歡蹇呴』鍙互鍦ㄤ笉濡ㄧ宸叉湁鐢ㄦ埛鐨勬儏鍐典笅琚崌綰?/p>
銆銆COM緇勪歡鍙互閫忔槑鐨勫湪緗戠粶涓婅閲嶆柊鍒嗛厤浣嶇疆
銆銆COM緇勪歡鎸夌収涓縐嶆爣鍑嗙殑鏂瑰紡鏉ュ甯冨畠浠殑瀛樺湪
銆銆FAQ2錛氱粍浠朵笉鏄?#8230;…錛熴栫涓绔犮?/em>
銆銆Answer:
銆銆COM緇勪歡涓嶆槸涓縐嶈綆楁満璇█
銆銆COM緇勪歡涓嶆槸DLL錛屽彧鏄埄鐢―LL鏉ョ粰緇勪歡鎻愪緵鍔ㄦ侀摼鎺ョ殑鑳藉姏
銆銆COM緇勪歡涓嶆槸涓涓狝PI鍑芥暟闆嗐?/p>
銆銆COM緇勪歡涓嶆槸綾?/p>
銆銆FAQ3錛氫粈涔堟槸鎺ュ彛錛熴栫浜岀珷銆?/em>
銆銆Answer:
銆銆鎺ュ彛灝辨槸鎻愪緵涓や釜涓嶅悓瀵硅薄闂寸殑涓縐嶈繛鎺ャ?/p>
銆銆璁$畻鏈虹▼搴忔槸閫氳繃涓緇勫嚱鏁拌岃繘琛岃繛鎺ョ殑錛岃繖緇勫嚱鏁板氨鏄畾涔変簡紼嬪簭涓笉鍚岄儴鍒嗙殑鎺ュ彛銆?/p>
銆銆DLL鐨勬帴鍙e氨鏄畠鎵杈撳嚭鐨勯偅浜涘嚱鏁般?/p>
銆銆C++綾葷殑鎺ュ彛灝辨槸璇ョ被鐨勬垚鍛樺嚱鏁伴泦銆?/p>
銆銆COM涓殑鎺ュ彛鏄竴緇勭敱緇勪歡瀹炵幇鐨勬彁渚涚粰瀹㈡埛浣跨敤鐨勫嚱鏁般?/p>
銆銆鍦–OM涓帴鍙f槸涓涓寘鍚嚱鏁版寚閽堟暟緇勭殑鍐呭瓨緇撴瀯錛屾暟緇勫厓绱犳槸涓涓敱緇勪歡瀹炵幇鐨勫嚱鏁板湴鍧銆?/p>
銆銆FAQ4錛氭帴鍙g殑浣滅敤鏄粈涔堬紵銆栫浜岀珷銆?/em>
銆銆Answer:
銆銆鏈変簡緇勪歡濡備綍灝嗗畠浠繛鎺ヨ搗鏉ユ瀯鎴愭煇涓簲鐢ㄧ▼搴忥紝闇瑕佺敤鎺ュ彛銆?/p>
銆銆鍦–OM涓帴鍙e氨鏄竴鍒囷紝瀵瑰鎴瘋緇勪歡灝辨槸鎺ュ彛闆嗭紝瀹㈡埛鍙兘閫氳繃鎺ュ彛鍜岀粍浠舵墦浜ら亾銆?/p>
銆銆璇存槑鎺ュ彛鍙互淇濇姢緋葷粺鍏嶅彈澶栫晫鍙樺寲鐨勫獎鍝嶃傝繖鏄皝瑁呯殑浣撶幇銆?/p>
銆銆鎺ュ彛瀹炵幇浜嗕嬌鐢ㄦ埛浣跨敤鍚屾牱鐨勬柟寮忔潵澶勭悊涓嶅悓鐨勭粍浠躲傝繖鏄鎬佺殑浣撶幇銆?/p>
銆銆FAQ5錛氫粈涔堟槸IUnKnown? 銆栫涓夌珷銆?/em>
銆銆Answer:
銆銆IUnKnown鏄竴涓帴鍙c?/p>
銆銆鎵鏈塁OM鎺ュ彛閮界戶鎵縄UnKnown銆?/p>
銆銆IUnKnown鐨勫畾涔夊湪WIN32 SDK涓殑UNKNWN澶存枃浠朵腑銆?/p>
銆銆///IUnKnown鐨勫畾涔?/p>
銆銆interface IUnKnown
銆銆{
銆銆virtual HRESULT __stdcall QueryInterface(const IID& iid,void **ppv)=0;
銆銆virtual ULONG __stdcall AddRef()=0;
銆銆virtual ULONG __stdcall Release()=0;
銆銆}
銆銆FAQ6錛歈ueryInterface鍑芥暟鐨勪綔鐢ㄦ槸浠涔堬紵銆栫涓夌珷銆?/em>
銆銆Answer:
銆銆QueryInterface鏄疘UnKnown鐨勬垚鍛樺嚱鏁幫紝瀹㈡埛鍙互閫氳繃姝ゅ嚱鏁版潵鏌ヨ緇勪歡鏄惁鏀寔鏌愪釜鐗瑰畾鐨勬帴鍙c?/p>
銆銆QueryInterface鍑芥暟榪斿洖涓涓寚鍚戠粍浠舵敮鎸佺殑鎺ュ彛鐨勬寚閽堛?/p>
銆銆濡傛灉QueryInterface鍑芥暟娌℃湁鎵懼埌緇勪歡鏀寔鐨勬帴鍙e垯榪斿洖鎸囬拡鏄疦ULL銆?/p>
銆銆QueryInterface鍑芥暟鍙互浣跨敤if…then…else璇彞銆佹暟緇勩佹暎鍒楄〃銆佹爲鏉ュ疄鐜般?/p>
銆銆QueryInterface鍑芥暟涓嶈兘浣跨敤case璇彞錛屽洜涓篞ueryInterface鍑芥暟榪斿洖鐨勬槸涓涓狧RESULT緇撴瀯鑰屼笉鏄竴涓暟銆?/p>
銆銆QueryInterface涔熸槸涓縐嶆棤灝佸鐞嗙粍浠剁増鏈殑鏈哄埗銆傝繖縐嶆満鍒朵嬌寰楃粍浠剁殑鏂版棫涓嶅悓鐨勭増鏈彲浠ヤ簰鎿嶄綔銆?/p>
銆銆FAQ7錛歈ueryInterface鍑芥暟鐨勫疄鐜拌鍒欐槸浠涔堬紵銆栫涓夌珷銆?/em>
銆銆Answer:
銆銆QueryInterface榪斿洖鐨処UnKnown鎸囬拡鎬繪槸鐩稿悓銆?/p>
銆銆鑻ュ鎴瘋幏寰椾簡鏌愪釜鎺ュ彛錛岄偅涔堝畠鎬昏兘鑾峰緱姝ゆ帴鍙c?/p>
銆銆瀹㈡埛鍙互鍐嶆鑾峰緱宸茬粡鎷ユ湁鐨勬帴鍙c?/p>
銆銆瀹㈡埛鍙互榪斿洖鍒拌搗濮嬫帴鍙c?/p>
銆銆鑻ヨ兘澶熷湪鏌愪釜鎺ュ彛鑾峰緱鏌愪釜鐗瑰畾鎺ュ彛錛岄偅涔堜粠浠繪剰鎺ュ彛閮藉皢鍙互鑾峰緱姝ゆ帴鍙c?/p>
銆銆FAQ8錛氭帴鍙g殑濡備綍瀹炵幇錛?/em>
銆銆Answer:
銆銆COM鎺ュ彛鍦–++涓槸鐢ㄧ函鎶借薄鍩虹被瀹炵幇銆?/p>
銆銆涓涓狢OM緇勪歡鍙互鏀涓帴鍙c?/p>
銆銆涓涓狢++綾誨彲浠ヤ嬌鐢ㄥ閲嶇戶鎵挎潵瀹炵幇涓涓敮鎸佸涓帴鍙g殑緇勪歡銆?/p>
銆銆緇勪歡鍙互鏀寔浠繪剰鏁扮洰鐨勬帴鍙c?/p>
銆銆鎺ュ彛搴旇鍏鋒湁涓嶅彉鎬с傚湪緇勪歡鍗囩駭鏃跺簲璇ヤ笉淇敼鍘熸潵鐨勬帴鍙o紝鑰屾槸娣誨姞鏂扮殑鎺ュ彛銆?/p>
銆銆瑕佺簿蹇冭璁″疄鐜版帴鍙o紝浠ヤ嬌涔嬭兘澶熸敮鎸佸悇縐嶄笉鍚岀殑瀹炵幇銆?/p>
銆銆FAQ9錛歈ueryInterface鍑芥暟鐨勫弬鏁癐ID鏄粈涔堬紵銆栫涓夌珷銆?/em>
銆銆Answer:
銆銆瀹冩槸涓涓粨鏋勶紝鎺ュ彛鏍囪瘑絎︾粨鏋勩?/p>
銆銆IID鏍囪瘑浜嗗鎴鋒墍闇鐨勬帴鍙c?/p>
銆銆姣忎竴涓帴鍙i兘鏈変竴涓敮涓鐨勬帴鍙f爣璇嗙銆傛墍浠ユ煇涓笌IID鐩稿搴旂殑鎺ュ彛緇濆涓嶄細鍙戠敓鍙樺寲銆?/p>
銆銆鎺ュ彛IID鍐沖畾浜咰OM緇勪歡鐨勭増鏈?/p>
銆銆涓嶅悓鐨勬帴鍙e叿鏈変笉鍚岀殑ID錛屽寘鎷笉鍚岀増鏈殑鎺ュ彛銆?/p>
銆銆FAQ10錛氫綍鏃墮渶瑕佸緩绔嬩竴涓柊鐨凜OM緇勪歡鐗堟湰錛熴栫涓夌珷銆?/em>
銆銆Answer:
銆銆褰撲負宸叉湁鎺ュ彛鎸囧畾鏂扮殑ID鏃跺簲璇ユ槸涓嬮潰鐨勬潯浠惰嚦灝戞湁涓涓垚绔嬨?/p>
銆銆鎺ュ彛涓嚱鏁扮殑鏁扮洰鍙戠敓鏀瑰彉鏃躲?/p>
銆銆鎺ュ彛涓嚱鏁扮殑欏哄簭鍙戠敓鏀瑰彉銆?/p>
銆銆鎺ュ彛涓煇涓嚱鏁扮殑鍙傛暟鍙戠敓鏀瑰彉
銆銆鎺ュ彛涓煇涓嚱鏁扮殑鍙傛暟鐨勯『搴忓彂鐢熸敼鍙?/p>
銆銆鎺ュ彛涓煇涓嚱鏁扮殑鍙傛暟鐨勭被鍨嬪彂鐢熸敼鍙?/p>
銆銆鎺ュ彛涓嚱鏁扮殑榪斿洖鍊煎彂鐢熸敼鍙?/p>
銆銆鎺ュ彛涓嚱鏁扮殑榪斿洖鍊肩被鍨嬪彂鐢熸敼鍙?/p>
銆銆鎺ュ彛涓嚱鏁扮殑鍙傛暟鐨勫惈涔夊彂鐢熸敼鍙?/p>
銆銆鎺ュ彛涓嚱鏁扮殑鍚箟鍙戠敓鏀瑰彉
銆銆綆鍗曞湴璇達紝COM鏄竴縐嶈法搴旂敤鍜岃璦鍏變韓浜岃繘鍒朵唬鐮佺殑鏂規硶銆備笌C++涓嶅悓錛屽畠鎻愬℃簮浠g爜閲嶇敤銆侫TL渚挎槸涓涓緢濂界殑渚嬭瘉銆傛簮鐮佺駭閲嶇敤铏界劧濂斤紝浣嗗彧鑳界敤浜嶤++銆傚畠榪樺甫鏉ヤ簡鍚嶅瓧鍐茬獊鐨勫彲鑳芥э紝鏇翠笉鐢ㄨ涓嶆柇鎷瘋礉閲嶇敤浠g爜鑰屽鑷村伐紼嬭啫鑳鍜岃噧鑲褲?/p>
銆銆Windows浣跨敤DLLs鍦ㄤ簩榪涘埗綰у叡浜唬鐮併傝繖涔熸槸Windows紼嬪簭榪愯鐨勫叧閿斺旈噸鐢╧ernel32.dll, user32.dll絳夈備絾DLLs鏄拡瀵笴鎺ュ彛鑰屽啓鐨勶紝瀹冧滑鍙兘琚獵鎴栫悊瑙璋冪敤瑙勮寖鐨勮璦浣跨敤銆傜敱緙栫▼璇█鏉ヨ礋璐e疄鐜板叡浜唬鐮侊紝鑰屼笉鏄敱DLLs鏈韓銆傝繖鏍風殑璇滵LLs鐨勪嬌鐢ㄥ彈鍒伴檺鍒躲?/p>
銆銆MFC寮曞叆浜嗗彟澶栦竴縐峂FC鎵╁睍DLLs浜岃繘鍒跺叡浜満鍒躲備絾瀹冪殑浣跨敤浠嶅彈闄愬埗鈥斺斿彧鑳藉湪MFC紼嬪簭涓嬌鐢ㄣ?/p>
銆銆COM閫氳繃瀹氫箟浜岃繘鍒舵爣鍑嗚В鍐充簡榪欎簺闂錛屽嵆COM鏄庣‘鎸囧嚭浜岃繘鍒舵ā鍧楋紙DLLs鍜孍XEs錛夊繀欏昏緙栬瘧鎴愪笌鎸囧畾鐨勭粨鏋勫尮閰嶃傝繖涓爣鍑嗕篃紜垏瑙勫畾浜嗗湪鍐呭瓨涓浣曠粍緇嘋OM瀵硅薄銆侰OM瀹氫箟鐨勪簩榪涘埗鏍囧噯榪樺繀欏葷嫭绔嬩簬浠諱綍緙栫▼璇█錛堝C++涓殑鍛藉悕淇グ錛夈備竴鏃︽弧瓚充簡榪欎簺鏉′歡錛屽氨鍙互杞繪澗鍦頒粠浠諱綍緙栫▼璇█涓瓨鍙栬繖浜涙ā鍧椼傜敱緙栬瘧鍣ㄨ礋璐f墍浜х敓鐨勪簩榪涘埗浠g爜涓庢爣鍑嗗吋瀹廣傝繖鏍蜂嬌鍚庢潵鐨勪漢灝辮兘鏇村鏄撳湴浣跨敤榪欎簺浜岃繘鍒朵唬鐮併?/p>
銆銆鍦ㄥ唴瀛樹腑錛孋OM瀵硅薄鐨勮繖縐嶆爣鍑嗗艦寮忓湪C++铏氬嚱鏁頒腑鍋跺皵鐢ㄥ埌錛屾墍浠ヨ繖灝辨槸涓轟粈涔堣澶欳OM浠g爜浣跨敤C++鐨勫師鍥犮備絾鏄浣忥紝緙栧啓妯″潡鎵鐢ㄧ殑璇█鏄棤鍏崇殑錛屽洜涓虹粨鏋滀簩榪涘埗浠g爜涓烘墍鏈夎璦鍙敤銆?/p>
銆銆姝ゅ錛孋OM涓嶆槸Win32鐗規湁鐨勩備粠鐞嗚涓婅錛屽畠鍙互琚Щ妞嶅埌Unix鎴栧叾瀹冩搷浣滅郴緇熴備絾鏄垜濂藉儚榪樹粠鏉ユ病鏈夊湪Windows浠ュ鐨勫湴鏂瑰惉璇磋繃COM銆?/p>
鏈枃鏉ヨ嚜CSDN鍗氬錛岃漿杞借鏍囨槑鍑哄錛?a >http://blog.csdn.net/thankall/archive/2009/01/15/3785583.aspx