锘??xml version="1.0" encoding="utf-8" standalone="yes"?>女人香蕉久久**毛片精品,99久久精品影院老鸭窝,影音先锋女人AV鲁色资源网久久 http://www.shnenglu.com/wz19860913/閭g墖鍦熷湪钃濆ぉ涓?/description>zh-cnWed, 07 May 2025 08:12:21 GMTWed, 07 May 2025 08:12:21 GMT60[杞琞鍒╃敤Winsock妯℃嫙HTTP鐨凣ET璇鋒眰http://www.shnenglu.com/wz19860913/archive/2010/03/01/108644.html灝忚檸鏃犲咖灝忚檸鏃犲咖Mon, 01 Mar 2010 02:43:00 GMThttp://www.shnenglu.com/wz19860913/archive/2010/03/01/108644.htmlhttp://www.shnenglu.com/wz19860913/comments/108644.htmlhttp://www.shnenglu.com/wz19860913/archive/2010/03/01/108644.html#Feedback0http://www.shnenglu.com/wz19860913/comments/commentRss/108644.htmlhttp://www.shnenglu.com/wz19860913/services/trackbacks/108644.html闃呰鍏ㄦ枃

]]>
CRC鏍¢獙綆楁硶http://www.shnenglu.com/wz19860913/archive/2009/11/10/100628.html灝忚檸鏃犲咖灝忚檸鏃犲咖Tue, 10 Nov 2009 08:06:00 GMThttp://www.shnenglu.com/wz19860913/archive/2009/11/10/100628.htmlhttp://www.shnenglu.com/wz19860913/comments/100628.htmlhttp://www.shnenglu.com/wz19860913/archive/2009/11/10/100628.html#Feedback0http://www.shnenglu.com/wz19860913/comments/commentRss/100628.htmlhttp://www.shnenglu.com/wz19860913/services/trackbacks/100628.html 銆銆鏈榪戞悶涓涓崗璁紝浠ュ疄鐜伴殣钄介氶亾錛屽叾涓渶瑕佷嬌鐢–RC鏍¢獙綆楁硶錛岀敱浜庢暟鎹綅鏁版瘮杈冨皯錛屾渶鍚庡喅瀹氫嬌鐢ㄤ綅鐨凜RC鏍¢獙綆楁硶銆?br>銆銆璇ョ畻娉曚富瑕佸氨鏄疄鐜頒竴涓ā浜岃繍綆楋紝鍩烘湰鍘熺悊灝辨槸寮傛垨錛岀Щ浣嶃?br>銆銆妯′簩榪愮畻鐨勭畻娉曞涓嬶紙C璇█鎻忚堪錛夛細

妯′簩榪愮畻

銆銆CrcGetCode鍑芥暟鑾峰師濮嬫暟鎹拰CRC鐢熸垚澶氶」寮忥紝鍒╃敤妯′簩榪愮畻寰楀埌鏂扮殑鏁版嵁銆傜畻娉曞涓嬶細
緇欐暟鎹姞涓婃牎楠岀爜


]]>
Hook瀵煎叆琛?鈥斺?瀹炵幇鎸傞挬FreeLibaray鍜孒OOK寤惰繜鍔犺澆妯″潡鐨凙PIhttp://www.shnenglu.com/wz19860913/archive/2009/08/14/93302.html灝忚檸鏃犲咖灝忚檸鏃犲咖Fri, 14 Aug 2009 05:36:00 GMThttp://www.shnenglu.com/wz19860913/archive/2009/08/14/93302.htmlhttp://www.shnenglu.com/wz19860913/comments/93302.htmlhttp://www.shnenglu.com/wz19860913/archive/2009/08/14/93302.html#Feedback2http://www.shnenglu.com/wz19860913/comments/commentRss/93302.htmlhttp://www.shnenglu.com/wz19860913/services/trackbacks/93302.html闃呰鍏ㄦ枃

]]>
[杞琞鑷繁鍐欑▼搴忚繛鎺ヨ棰戝茍鍙埅鍙栬棰戠敾闈?/title><link>http://www.shnenglu.com/wz19860913/archive/2009/07/23/90905.html</link><dc:creator>灝忚檸鏃犲咖</dc:creator><author>灝忚檸鏃犲咖</author><pubDate>Thu, 23 Jul 2009 03:26:00 GMT</pubDate><guid>http://www.shnenglu.com/wz19860913/archive/2009/07/23/90905.html</guid><wfw:comment>http://www.shnenglu.com/wz19860913/comments/90905.html</wfw:comment><comments>http://www.shnenglu.com/wz19860913/archive/2009/07/23/90905.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/wz19860913/comments/commentRss/90905.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/wz19860913/services/trackbacks/90905.html</trackback:ping><description><![CDATA[<p>杞澆鑷細<a >http://www.winu.cn/space-14160-do-blog-id-8104.html</a><br><br>銆銆鍦ㄨ澶氬叧浜庤棰戠殑杞歡(濡傝棰戜細璁佸彲瑙嗙數璇濈瓑)寮鍙戜腑錛岄兘搴旂敤浜嗚棰戞崟鑾鋒妧鏈傚井杞負杞歡寮鍙戜漢鍛樻彁渚涗簡涓涓笓闂ㄧ敤浜庤棰戞崟鑾風殑VFW (Video for Windows) SDK銆俈FW SDK涓哄湪Windows緋葷粺涓疄鐜拌棰戞崟鑾鋒彁渚涗簡鏍囧噯鐨勬帴鍙o紝浠庤屽ぇ澶ч檷浣庝簡紼嬪簭鐨勫紑鍙戦毦搴︺傜敱浜嶸FW SDK鍙湁VC鍜孷B鐗堬紝娌℃湁Delphi鐗堬紝鍥犳闇瑕佸湪Delphi涓竴涓澹版槑DLL涓殑鍚勪釜鍑芥暟鍜屽彉閲忥紙鍙互鍙傝僊SDN涓殑VC鐨勫嚱鏁板0鏄庝互鍙婂彉閲忓畾涔夛級銆傛湰鏂囧垎3閮ㄥ垎浠嬬粛濡備綍鍒╃敤VFW鍦―elphi涓紑鍙戣棰戞崟鑾風▼搴忋?<br><br>VFW綆浠?<br>銆銆VFW鏄井杞叕鍙?992騫存帹鍑虹殑鍏充簬鏁板瓧瑙嗛鐨勪竴涓蔣浠跺寘錛屽畠鑳戒嬌搴旂敤紼嬪簭閫氳繃鏁板瓧鍖栬澶囦粠浼犵粺鐨勬ā鎷熻棰戞簮寰楀埌鏁板瓧鍖栫殑瑙嗛鍓緫銆俈FW鐨勪竴涓叧閿濇兂鏄挱鏀炬椂涓嶉渶瑕佷笓鐢ㄧ‖浠訛紝涓轟簡瑙e喅鏁板瓧瑙嗛鏁版嵁閲忓ぇ鐨勯棶棰橈紝闇瑕佸鏁版嵁榪涜鍘嬬緝銆傚畠寮曡繘浜嗕竴縐嶅彨AVI鐨勬枃浠舵爣鍑嗭紝璇ユ爣鍑嗘湭瑙勫畾濡備綍瀵硅棰戣繘琛屾崟鑾楓佸帇緙╁強鎾斁錛屼粎瑙勫畾瑙嗛鍜岄煶棰戣濡備綍瀛樺偍鍦ㄧ‖鐩樹笂錛屼互鍙婂湪AVI鏂囦歡涓氦鏇垮瓨鍌ㄨ棰戝撫鍜屼笌涔嬬浉鍖歸厤鐨勯煶棰戞暟鎹俈FW浣跨▼搴忓憳鑳介氳繃鍙戦佹秷鎭垨璁劇疆灞炴ф潵鎹曡幏銆佹挱鏀懼拰緙栬緫瑙嗛鍓緫銆傚湪Windows 9x緋葷粺涓?褰撶敤鎴峰湪瀹夎VFW鏃訛紝瀹夎紼嬪簭浼氳嚜鍔ㄥ湴瀹夎閰嶇疆瑙嗛鎵闇瑕佺殑緇勪歡錛屽璁懼椹卞姩紼嬪簭銆佽棰戝帇緙╃▼搴忕瓑銆?<br>VFW涓昏鐢變互涓?涓ā鍧楃粍鎴愶細 <br>鈼廇VICAP.DLL錛氬寘鍚墽琛岃棰戞崟鑾風殑鍑芥暟錛屽畠緇橝VI鏂囦歡鐨処/O澶勭悊鍜岃棰戙侀煶棰戣澶囬┍鍔ㄧ▼搴忔彁渚涗竴涓珮綰ф帴鍙o紱 <br>鈼廙SVIDEO.DLL錛氬寘鍚竴濂楃壒孌婄殑DrawDib鍑芥暟錛岀敤鏉ュ鐞嗗睆騫曚笂鐨勮棰戞搷浣滐紱 <br>鈼廙CIAVI.DRV錛氬寘鎷VFW鐨凪CI鍛戒護瑙i噴鍣ㄧ殑椹卞姩紼嬪簭錛?<br>鈼廇VIFILE.DLL錛氬寘鍚敱鏍囧噯澶氬獟浣揑/O錛坢mio錛夊嚱鏁版彁渚涚殑鏇撮珮鐨勫懡浠わ紝鐢ㄦ潵璁塊棶.AVI鏂囦歡錛?<br>鈼忓帇緙╃鐞嗗櫒錛圛CM錛夛細鐢ㄤ簬綆$悊鐨勮棰戝帇緙?瑙e帇緙╃殑緙栬瘧鐮佸櫒錛圕odec錛夛紱 <br>鈼忛煶棰戝帇緙╃鐞嗗櫒ACM錛氭彁渚涗笌ICM鐩鎬技鐨勬湇鍔★紝閫傜敤浜庢嘗褰㈤煶棰戙?<br>寮鍙戞楠?<br>AVICap紿楀彛綾繪敮鎸佸疄鏃剁殑瑙嗛嫻佹崟鑾峰拰鍗曞撫鎹曡幏錛屽茍鎻愪緵瀵硅棰戞簮鐨勬帶鍒躲傝櫧鐒禡CI涔熸彁渚涙暟瀛楄棰戞湇鍔?姣斿瀹冧負鏄劇ず.AVI鏂囦歡鐨勮棰戞彁渚涗簡AVI VIDEO鍛戒護闆?錛屼負瑙嗛鍙犲姞鎻愪緵浜哋verlay鍛戒護闆嗭紝浣嗚繖浜涘懡浠や富瑕佹槸鍩轟簬鏂囦歡鐨勬搷浣滐紝瀹冧滑涓嶈兘婊¤凍瀹炴椂鍦頒粠瑙嗛緙撳瓨涓彇鏁版嵁鐨勮姹傦紝 瀵逛簬浣跨敤娌℃湁瑙嗛鍙犲姞鑳藉姏鐨勬崟鑾峰崱鐨凱C鏈烘潵璇達紝 鐢∕CI鎻愪緵鐨勫懡浠ら泦鏄棤娉曟崟鑾瘋棰戞祦鐨勩傝孉VICap紿楀彛綾誨湪鎹曡幏瑙嗛鏂歸潰鍏鋒湁涓瀹氱殑浼樺娍錛屽畠鑳界洿鎺ヨ闂棰戠紦鍐插尯錛屼笉闇瑕佺敓鎴愪腑闂存枃浠訛紝瀹炴椂鎬у緢寮猴紝鏁堢巼寰堥珮銆傝屼笖錛屽畠榪樺彲灝嗘暟瀛楄棰戞崟鑾峰埌涓涓枃浠朵腑銆?<br>1.鍒涘緩“鎹曡幏紿?#8221; <br>鍦ㄨ繘琛岃棰戞崟鑾蜂箣鍓嶅繀闇瑕佸厛鍒涘緩涓涓?#8220;鎹曡幏紿?#8221;錛屽茍浠ュ畠涓哄熀紜榪涜鎵鏈夌殑鎹曡幏鍙婅緗搷浣溿?#8220;鎹曡幏紿?#8221;鐢ˋVICap紿楀彛綾葷殑“CapCreateCaptureWindow”鍑芥暟鏉ュ垱寤猴紝鍏剁獥鍙i鏍間竴鑸負WS_CHILD鍜學S_VISIBLE銆?<br>鎹曡幏紿楃被浼間簬鏍囧噯鎺т歡錛堝鎸夐挳銆佸垪琛ㄦ絳夛級錛屽茍鍏鋒湁涓嬪垪鍔熻兘錛?<br>鈼忓皢瑙嗛嫻佸拰闊抽嫻佹崟鑾峰埌涓涓狝VI鏂囦歡涓紱 <br>鈼忓姩鎬佸湴鍚岃棰戝拰闊抽杈撳叆鍣ㄤ歡榪炴帴鎴栨柇寮錛?<br>鈼忎互Overlay鎴朠review妯″紡瀵硅緭鍏ョ殑瑙嗛嫻佽繘琛屽疄鏃舵樉紺猴紱 <br>鈼忓湪鎹曡幏鏃訛紝鍙寚瀹氭墍鐢ㄧ殑鏂囦歡鍚嶅茍鑳藉皢鎹曡幏鏂囦歡鐨勫唴瀹規嫹璐濆埌鍙︿竴涓枃浠訛紱 <br>鈼忚緗崟鑾烽熺巼錛?<br>鈼忔樉紺烘帶鍒惰棰戞簮銆佽棰戞牸寮忋佽棰戝帇緙╃殑瀵硅瘽妗嗭紱 <br>鈼忓垱寤恒佷繚瀛樻垨杞藉叆璋冭壊鏉匡紱 <br>鈼忓皢鍥懼儚鍜岀浉鍏崇殑璋冭壊鏉挎嫹璐濆埌鍓創鏉匡紱 <br>鈼忓皢鎹曡幏鐨勫崟甯у浘鍍忎繚瀛樹負DIB鏍煎紡鐨勬枃浠躲?<br>2錛庡叧鑱旀崟鑾風獥鍜岄┍鍔ㄧ▼搴?<br>鍗曠嫭瀹氫箟鐨勪竴涓崟鑾風獥鏄笉鑳藉伐浣滅殑錛屽畠蹇呴渶涓庝竴涓澶囩浉鍏寵仈錛岃繖鏍鋒墠鑳藉彇寰楄棰戜俊鍙楓傜敤鍑芥暟CapDriverConnect鍙嬌涓涓崟鑾風獥涓庝竴涓澶囬┍鍔ㄧ▼搴忕浉鍏寵仈銆?<br>3錛庤緗棰戣澶囩殑灞炴?<br>閫氳繃璁劇疆TcaptureParms緇撴瀯鍙橀噺鐨勫悇涓垚鍛樺彉閲忥紝鍙互鎺у埗璁懼鐨勯噰鏍烽鐜囥佷腑鏂噰鏍鋒寜閿佺姸鎬佽涓虹瓑絳夈傝緗ソTCaptureParms緇撴瀯鍙橀噺鍚庯紝鍙互鐢ㄥ嚱鏁癈apCaptureSetSetup浣胯緗敓鏁堛備箣鍚庤繕鍙互鐢–apPreviewScale銆丆apPreviewRate鏉ヨ緗瑙堢殑姣斾緥涓庨熷害錛屼篃鍙互鐩存帴浣跨敤璁懼鐨勯粯璁ゅ箋?<br>4錛庢墦寮棰勮 <br>鍒╃敤鍑芥暟CapOverlay閫夋嫨鏄惁閲囩敤鍙犲姞妯″紡棰勮錛岃繖鏍峰崰鐢ㄧ郴緇熻祫婧愬皬錛屽茍涓旇棰戞樉紺洪熷害蹇傜劧鍚庣敤CapPreview鍚姩棰勮鍔熻兘錛岃繖鏃跺氨鍙互鍦ㄥ睆騫曚笂鐪嬪埌鏉ヨ嚜鎽勫儚鏈虹殑鍥懼儚浜嗐?<br>閫氳繃浠ヤ笂4姝ュ氨鍙互寤虹珛涓涓熀鏈殑瑙嗛鎹曡幏紼嬪簭銆備絾濡傛灉鎯寵嚜宸插鐞嗕粠璁懼鎹曡幏鍒扮殑瑙嗛鏁版嵁錛屽垯瑕佷嬌鐢ㄦ崟鑾風獥鍥炶皟鍑芥暟鏉ュ鐞嗭紝姣斿涓甯т竴甯у湴鑾峰緱瑙嗛鏁版嵁鎴栦互嫻佺殑鏂瑰紡鑾峰緱瑙嗛鏁版嵁絳夌瓑銆?<br>瀹炰緥緙栫▼ <br>涓嬮潰浠ヤ竴涓竴甯т竴甯у湴浠庤棰戣澶囦笂鎹曡幏瑙嗛鏁版嵁鐨凞elphi紼嬪簭涓轟緥錛屾潵璇存槑姣忎釜鍑芥暟鐨勪綔鐢ㄤ互鍙婂紑鍙戣繃紼嬨?<br>璇ョ▼搴忕殑鍔熻兘鏄彲浠ュ湪灞忓箷涓婃樉瑙嗘崟鑾峰埌鐨勮棰戯紝騫跺彲浠ヨ幏寰楁瘡涓甯х殑鍥懼儚鏁版嵁銆?<br>鏂板緩涓涓伐紼嬶紝騫跺皢AVICAP32.PAS鍖呭惈鍒癠SES涓?<br>鍦‵orm1涓婃斁緗竴涓猅Panel鎺т歡錛岃Name涓?#8220;gCapVideoArea”錛岃鎺т歡鐢ㄤ簬鏄劇ず瑙嗛銆傚啀鏀劇疆涓や釜TButton鎺т歡錛屼竴涓狽ame涓?#8220;Openvideo”錛屽彟涓涓狽ame涓?#8220;Closevideo”銆?<br>瀹氫箟鍏ㄥ眬鍙橀噺錛?<br>var <br>//瀹氫箟鎹曡幏紿楀彞鏌?<br>ghCapWnd: THandle; <br>//鍙互寰楀埌瑙嗛鏁版嵁鎸囬拡鐨勭粨鏋勫彉閲忥紝鐢ㄤ簬鍥炶皟鍑芥暟涓?<br>VideoStr: LPVIDEOHDR; <br>//鐢ㄤ簬璁劇疆璁懼灞炴х殑緇撴瀯鍙橀噺 <br>CapParms: TCaptureParms; <br>鍦∟ame涓?#8220;Openvideo”鐨凾Button 鐨凜lick浜嬩歡涓啓鍏ヤ互涓嬩唬鐮侊細 <br>procedure TForm1.OpenvideoClick(Sender: TObject); <br>begin <br>//浣跨敤Tpanel鎺т歡鏉ュ垱寤烘崟鑾風獥鍙?<br>ghCapWnd := CapCreateCaptureWindow <br>( PChar(‘KruwoSoft'), //鎹曡幏紿楀彛鐨勫悕瀛?<br>WS_CHILD or WS_VISIBLE,//紿楀彛鏍峰紡 <br>0, //X鍧愭爣 <br>0, //Y鍧愭爣 <br>gCapVideoArea.Width, //紿楀彛瀹?<br>gCapVideoArea.Height, //紿楀彛楂?<br>gCapVideoArea.Handle, //紿楀彛鍙ユ焺 <br>0); //涓鑸負0 <br>{涓轟簡鑳藉鎹曡幏瑙嗛甯э紝瑕佸惎鍔ㄤ竴涓崟鑾峰撫鍥炶皟鍑芥暟VideoStreamCallBack銆傛崟鑾蜂竴涓棰戞祦鎴栧綋鍓嶈澶囩姸鎬佹椂鍒嗗埆浣跨敤浠ヤ笅鍑芥暟錛?<br>//鎹曡幏涓涓棰戞祦 <br>CapSetCallbackOnVideoStream; <br>//寰楀埌涓涓澶囬敊璇?<br>CapSetCallbackonError; <br>//寰楀埌涓涓澶囩姸鎬?<br>CapSetCallbackOnStatus <br>} <br>//瀹氫箟涓涓撫鎹曡幏鍥炶皟鍑芥暟 <br>CapSetCallbackOnFrame (ghCapWnd,LongInt(@VideoStreamCallBack)); <br>//灝嗕竴涓崟鑾風獥鍙d笌涓涓澶囬┍紼嬬浉鍏寵仈錛岀浜屼釜鍙傛暟鏄釜搴忓彿錛屽綋緋葷粺涓鏈夊涓樉瑙嗛┍鍔ㄧ▼搴忔椂錛屽叾鍊煎垎鍒緷嬈′負0鍒版諱釜鏁?<br>CapDriverConnect(ghCapWnd, 0); <br>//璁劇疆璁懼灞炴х殑緇撴瀯鍙橀噺 <br>CapParms.dwRequestMicroSecPerFrame:=40000; <br>CapParms.fLimitEnabled := FALSE; <br>CapParms.fCaptureAudio := FALSE; // NO Audio <br>CapParms.fMCIControl := FALSE; <br>CapParms.fYield := TRUE; <br>CapParms.vKeyAbort := VK_ESCAPE; <br>CapParms.fAbortLeftMouse := FALSE; <br>CapParms.fAbortRightMouse := FALSE; <br>//浣胯緗敓鏁?<br>CapCaptureSetSetup(ghCapWnd,LongInt(@CapParms),sizeof(TCAPTUREPARMS)); <br>//璁劇疆棰勮鏃剁殑姣斾緥 <br>CapPreviewScale(ghCapWnd, 1); <br>//璁劇疆棰勮鏃剁殑甯ч鐜?<br>CapPreviewRate(ghCapWnd,66); <br>//濡傛灉瑕佹崟鑾瘋棰戞祦錛屽垯瑕佷嬌鐢ㄥ嚱鏁版寚瀹氫笉鐢熸垚鏂囦歡銆傚惁鍒欏皢浼氳嚜鍔ㄧ敓鎴怉VI鏂囦歡 <br>CapCaptureSequenceNoFile(ghCapWnd); <br>//鎸囧畾鏄惁浣跨敤鍙犲姞妯″紡錛屼嬌鐢ㄤ負1錛屽惁鍒欎負0 <br>CapOverlay(ghCapWnd, 1); <br>//鎵撳紑棰勮 <br>CapPreview(ghCapWnd, 1); <br>end; <br>鍦∟ame涓?#8220;Closevideo”鐨凾Button 鐨凜lick浜嬩歡涓啓鍏ヤ互涓嬩唬鐮侊細 <br>procedure TForm1.ClosevideoClick(Sender: TObject); <br>begin <br>//鍋滄鎹曡幏 <br>capCaptureAbort(ghCapWnd); <br>//灝嗘崟鑾風獥鍚岄┍鍔ㄥ櫒鏂紑 <br>capDriverDisconnect(ghCapWnd); <br>end; <br>瀹氫箟鎹曡幏甯у洖璋冨嚱鏁幫細 <br>function FrameCallBack(hWnd:HWND; lpVHdr:LongInt) :LongInt; stdcall; <br>var <br>DataPoint:^byte; <br>DibLen,RectWidth,RectHeight:integer; <br>begin <br>//杞崲浠庡洖璋冨嚱鏁頒腑寰楀埌鐨勬寚閽?<br>VideoStr:=LPVIDEOHDR(lpVHdr); <br>//寰楀埌榪斿洖鐨勬暟鎹ぇ灝?<br>DibLen:=VideoStr^.dwBufferLength; <br>GetMem(DataPoint,64000); <br>//灝嗗撫鏁版嵁COPY鍒頒竴涓唴瀛樹腑錛屾敞鎰廌ATAPOINT瑕佸厛鍒嗛厤絀洪棿 <br>CopyMemory(DataPoint,VideoStr^.lpData,Diblen); <br>//涓浜涘叾浠栧鐞?<br>…… <br>end; <br>鐏墊椿鍦頒嬌鐢ˋVICap紿楀彛綾葷殑鍥炶皟鍑芥暟鍙互婊¤凍鍚勭涓嶅悓鐨勯渶姹傦紝浣嗚娉ㄦ剰浠庤棰戝崱涓崟鑾風殑瑙嗛鏁版嵁鐨勬牸寮忓拰鍥懼儚鐨勯暱瀹借鍙傝冭棰戝崱鐨勫弬鏁般傝屼笖鏈変簺瑙嗛鍗¢氳繃璁劇疆鍙敮鎸佸縐嶇殑鏍煎紡鍜屽浘鍍忛暱瀹斤紝鎵浠ュ湪榪樺師鍥懼儚鏃惰娉ㄦ剰鍙傝冩墍鐢ㄧ殑瑙嗛鍗$殑鍙傛暟銆?/p> <img src ="http://www.shnenglu.com/wz19860913/aggbug/90905.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/wz19860913/" target="_blank">灝忚檸鏃犲咖</a> 2009-07-23 11:26 <a href="http://www.shnenglu.com/wz19860913/archive/2009/07/23/90905.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>銆奧indows via C/C++銆嬩腑紺轟緥紼嬪簭DIPS鐨勯棶棰?/title><link>http://www.shnenglu.com/wz19860913/archive/2009/06/13/87573.html</link><dc:creator>灝忚檸鏃犲咖</dc:creator><author>灝忚檸鏃犲咖</author><pubDate>Sat, 13 Jun 2009 05:37:00 GMT</pubDate><guid>http://www.shnenglu.com/wz19860913/archive/2009/06/13/87573.html</guid><wfw:comment>http://www.shnenglu.com/wz19860913/comments/87573.html</wfw:comment><comments>http://www.shnenglu.com/wz19860913/archive/2009/06/13/87573.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.shnenglu.com/wz19860913/comments/commentRss/87573.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/wz19860913/services/trackbacks/87573.html</trackback:ping><description><![CDATA[銆銆鍓嶄竴闃舵閲嶆俯浜哤indows涓殑HOOK錛岀敱姝ゅ弬鑰冧簡銆奧indows via C/C++銆嬩腑鐨勭ず渚嬬▼搴忊斺擠IPS錛屼絾鏄垜鍙戠幇浜嗕竴涓湁瓚g殑闂銆?br>銆銆榛樿鎯呭喌涓嬶紝閾炬帴鍣ㄥ茍涓嶄細灝嗘敮鎸乆P鎴朧ista鐨刴anifest閾炬帴鍒扮▼搴忎笂錛屽洜姝わ紝鐢熸垚鐨勫簲鐢ㄧ▼搴忚繍琛屾椂鐨勬帶浠墮鏍兼槸緇忓吀Windows鏍峰紡錛屾鏃訛紝DIPS灝忓伐鍏瘋繍琛屾甯搞?br>銆銆浣嗘槸錛屽綋鍔犱笂濡備笅榪欐浠g爜錛堥傜敤浜巟86 CPU錛夛紝闂灝變駭鐢熶簡銆?br> <div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #000000">#pragma comment(linker, </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">/manifestdependency:\</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">type</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">win32</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000"> name</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">Microsoft.Windows.Common-Controls</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000"> version</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">6.0.0.0</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000"> processorArchitecture</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">x86</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000"> publicKeyToken</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">6595b64144ccf1df</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000"> language</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">\</span><span style="COLOR: #000000">""</span><span style="COLOR: #000000">)</span></div> 銆銆榪欐剰鍛崇潃閾炬帴鍣ㄥ皢浼氭妸鏂扮殑XP鎴朧ista鐨刴anifest閾炬帴鍒扮▼搴忎笂錛屼嬌搴旂敤紼嬪簭鍏鋒湁XP鎴朧ista鐨勬帶浠舵牱寮忋傝繖鏃訛紝闂浜х敓浜嗐?br>銆銆榪欓噷鎴戣創鍑虹▼搴忕殑涓誨嚱鏁頒唬鐮侊細<br> <div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img id=Codehighlighter1_75_2285_Open_Image onclick="this.style.display='none'; Codehighlighter1_75_2285_Open_Text.style.display='none'; Codehighlighter1_75_2285_Closed_Image.style.display='inline'; Codehighlighter1_75_2285_Closed_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_75_2285_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_75_2285_Closed_Text.style.display='none'; Codehighlighter1_75_2285_Open_Image.style.display='inline'; Codehighlighter1_75_2285_Open_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ContractedBlock.gif" align=top><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> WINAPI _tWinMain(HINSTANCE hInstExe, HINSTANCE, PTSTR pszCmdLine, </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">) </span><span id=Codehighlighter1_75_2285_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"></span><span id=Codehighlighter1_75_2285_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>   </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> Convert command-line character to uppercase.</span><span style="COLOR: #008000"><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">   CharUpperBuff(pszCmdLine, </span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">);<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>   TCHAR cWhatToDo </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> pszCmdLine[</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">];<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img id=Codehighlighter1_260_347_Open_Image onclick="this.style.display='none'; Codehighlighter1_260_347_Open_Text.style.display='none'; Codehighlighter1_260_347_Closed_Image.style.display='inline'; Codehighlighter1_260_347_Closed_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_260_347_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_260_347_Closed_Text.style.display='none'; Codehighlighter1_260_347_Open_Image.style.display='inline'; Codehighlighter1_260_347_Open_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>   </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000"> ((cWhatToDo </span><span style="COLOR: #000000">!=</span><span style="COLOR: #000000"> TEXT(</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">S</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">)) </span><span style="COLOR: #000000">&&</span><span style="COLOR: #000000"> (cWhatToDo </span><span style="COLOR: #000000">!=</span><span style="COLOR: #000000"> TEXT(</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">R</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">))) </span><span id=Codehighlighter1_260_347_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"></span><span id=Codehighlighter1_260_347_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>      </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> An invalid command-line argument; prompt the user.</span><span style="COLOR: #008000"><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">      cWhatToDo </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>   }</span></span><span style="COLOR: #000000"><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img id=Codehighlighter1_373_750_Open_Image onclick="this.style.display='none'; Codehighlighter1_373_750_Open_Text.style.display='none'; Codehighlighter1_373_750_Closed_Image.style.display='inline'; Codehighlighter1_373_750_Closed_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_373_750_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_373_750_Closed_Text.style.display='none'; Codehighlighter1_373_750_Open_Image.style.display='inline'; Codehighlighter1_373_750_Open_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>   </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000"> (cWhatToDo </span><span style="COLOR: #000000">==</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">) </span><span id=Codehighlighter1_373_750_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"></span><span id=Codehighlighter1_373_750_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>      </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> No command-line argument was used to tell us what to<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>      </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> do; show usage dialog box and prompt the user.</span><span style="COLOR: #008000"><br><img id=Codehighlighter1_571_745_Open_Image onclick="this.style.display='none'; Codehighlighter1_571_745_Open_Text.style.display='none'; Codehighlighter1_571_745_Closed_Image.style.display='inline'; Codehighlighter1_571_745_Closed_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_571_745_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_571_745_Closed_Text.style.display='none'; Codehighlighter1_571_745_Open_Image.style.display='inline'; Codehighlighter1_571_745_Open_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top></span><span style="COLOR: #000000">      </span><span style="COLOR: #0000ff">switch</span><span style="COLOR: #000000"> (DialogBox(hInstExe, MAKEINTRESOURCE(IDD_DIPS), NULL, Dlg_Proc)) </span><span id=Codehighlighter1_571_745_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"></span><span id=Codehighlighter1_571_745_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>         </span><span style="COLOR: #0000ff">case</span><span style="COLOR: #000000"> IDC_SAVE:    <br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>            cWhatToDo </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> TEXT(</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">S</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">); <br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>            </span><span style="COLOR: #0000ff">break</span><span style="COLOR: #000000">;<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>         </span><span style="COLOR: #0000ff">case</span><span style="COLOR: #000000"> IDC_RESTORE: <br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>            cWhatToDo </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> TEXT(</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">R</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">);<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>            </span><span style="COLOR: #0000ff">break</span><span style="COLOR: #000000">;<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>      }</span></span><span style="COLOR: #000000"><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>   }</span></span><span style="COLOR: #000000"><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img id=Codehighlighter1_776_845_Open_Image onclick="this.style.display='none'; Codehighlighter1_776_845_Open_Text.style.display='none'; Codehighlighter1_776_845_Closed_Image.style.display='inline'; Codehighlighter1_776_845_Closed_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_776_845_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_776_845_Closed_Text.style.display='none'; Codehighlighter1_776_845_Open_Image.style.display='inline'; Codehighlighter1_776_845_Open_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>   </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000"> (cWhatToDo </span><span style="COLOR: #000000">==</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">) </span><span id=Codehighlighter1_776_845_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"></span><span id=Codehighlighter1_776_845_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>      </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> The user doesn't want to do anything.</span><span style="COLOR: #008000"><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">      </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">(</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">);<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>   }</span></span><span style="COLOR: #000000"><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>   <br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>   </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> The Desktop ListView window is the grandchild of the ProgMan window.</span><span style="COLOR: #008000"><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">   HWND hWndLV </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> GetFirstChild(GetFirstChild(<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>      FindWindow(TEXT(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">ProgMan</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">), NULL)));<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>   chASSERT(IsWindow(hWndLV));<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>   </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> Set hook that injects our DLL into the Explorer's address space. After <br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>   </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> setting the hook, the DIPS hidden modeless dialog box is created. We <br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>   </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> send messages to this window to tell it what we want it to do.</span><span style="COLOR: #008000"><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">   chVERIFY(SetDIPSHook(GetWindowThreadProcessId(hWndLV, NULL)));<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>   </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> Wait for the DIPS server window to be created.</span><span style="COLOR: #008000"><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">   MSG msg;<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>   GetMessage(</span><span style="COLOR: #000000">&</span><span style="COLOR: #000000">msg, NULL, </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">, </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">);      <span style="COLOR: red">// 璇鋒敞鎰忚繖閲?/span><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>   </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> Find the handle of the hidden dialog box window.</span><span style="COLOR: #008000"><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">   HWND hWndDIPS </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> FindWindow(NULL, TEXT(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">Wintellect DIPS</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">));<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>   </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> Make sure that the window was created.</span><span style="COLOR: #008000"><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">   chASSERT(IsWindow(hWndDIPS));<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>   </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> Tell the DIPS window which ListView window to manipulate<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>   </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> and whether the items should be saved or restored.</span><span style="COLOR: #008000"><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">   BOOL bSave </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> (cWhatToDo </span><span style="COLOR: #000000">==</span><span style="COLOR: #000000"> TEXT(</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">S</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">));<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>   SendMessage(hWndDIPS, WM_APP, (WPARAM) hWndLV, bSave);<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>   </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> Tell the DIPS window to destroy itself. Use SendMessage <br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>   </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> instead of PostMessage so that we know the window is <br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>   </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> destroyed before the hook is removed.</span><span style="COLOR: #008000"><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">   SendMessage(hWndDIPS, WM_CLOSE, </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">, </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">);<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>   </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> Make sure that the window was destroyed.</span><span style="COLOR: #008000"><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">   chASSERT(</span><span style="COLOR: #000000">!</span><span style="COLOR: #000000">IsWindow(hWndDIPS));<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>   </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> Unhook the DLL, removing the DIPS dialog box procedure <br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>   </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> from the Explorer's address space.</span><span style="COLOR: #008000"><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">   SetDIPSHook(</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">);  <br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>   </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">(</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">);<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span></div> <br>銆銆鐪嬪埌涓婇潰浠g爜涓殑GetMessage鍑芥暟錛堝姞綰㈣壊娉ㄩ噴閭h錛夛紝璇ュ嚱鏁版槸鍦ㄦ帴鏀朵竴涓潵鑷猠xplorer.exe榪涚▼鐨勬秷鎭紝榪欎釜娑堟伅鏄湪鎸傞挬DLL娉ㄥ叆涔嬪悗錛岀敱鎸傞挬榪囨護鍑芥暟鍙戦佺殑銆傛寕閽╄繃婊ゅ嚱鏁頒唬鐮佸涓嬶細<br> <div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img id=Codehighlighter1_67_697_Open_Image onclick="this.style.display='none'; Codehighlighter1_67_697_Open_Text.style.display='none'; Codehighlighter1_67_697_Closed_Image.style.display='inline'; Codehighlighter1_67_697_Closed_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_67_697_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_67_697_Closed_Text.style.display='none'; Codehighlighter1_67_697_Open_Image.style.display='inline'; Codehighlighter1_67_697_Open_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ContractedBlock.gif" align=top><span style="COLOR: #000000">LRESULT WINAPI GetMsgProc(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> nCode, WPARAM wParam, LPARAM lParam) </span><span id=Codehighlighter1_67_697_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"></span><span id=Codehighlighter1_67_697_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>   </span><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000"> BOOL bFirstTime </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> TRUE;<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img id=Codehighlighter1_124_635_Open_Image onclick="this.style.display='none'; Codehighlighter1_124_635_Open_Text.style.display='none'; Codehighlighter1_124_635_Closed_Image.style.display='inline'; Codehighlighter1_124_635_Closed_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_124_635_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_124_635_Closed_Text.style.display='none'; Codehighlighter1_124_635_Open_Image.style.display='inline'; Codehighlighter1_124_635_Open_Text.style.display='inline';" src="http://www.shnenglu.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>   </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000"> (bFirstTime) </span><span id=Codehighlighter1_124_635_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"></span><span id=Codehighlighter1_124_635_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>      </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> The DLL just got injected.</span><span style="COLOR: #008000"><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">      bFirstTime </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> FALSE;<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>      </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> Uncomment the line below to invoke the debugger <br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>      </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> on the process that just got the injected DLL.<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>      </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> ForceDebugBreak();<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>      </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> Create the DIPS Server window to handle the client request.</span><span style="COLOR: #008000"><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">      CreateDialog(g_hInstDll, MAKEINTRESOURCE(IDD_DIPS), NULL, Dlg_Proc);<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>      </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> Tell the DIPS application that the server is up <br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>      </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> and ready to handle requests.</span><span style="COLOR: #008000"><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">      PostThreadMessage(g_dwThreadIdDIPS, WM_NULL, </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">, </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">);<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>   }</span></span><span style="COLOR: #000000"><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>   </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">(CallNextHookEx(g_hHook, nCode, wParam, lParam));<br><img src="http://www.shnenglu.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span></div> <br>銆銆鏄庢樉鍦幫紝榪欓噷鍙戦佷簡涓涓猈M_NULL娑堟伅緇橠IPS榪涚▼錛屽綋浣跨敤緇忓吀鏍峰紡鐨勬帶浠舵椂涓鍒囧畨濂斤紝緇忚皟璇曞緱鍒扮殑MSG緇撴瀯涓殑鍚勪釜瀛楁涓烘紜殑鍊箋備絾鏄姞涓婁簡涓婇潰閭h閾炬帴鍛戒護鍚庯紝璋冭瘯寰楀埌鐨凪SG緇撴瀯鐨勫瓧孌靛帇鏍瑰氨涓嶆槸WM_NULL銆?銆?錛岃屾槸涓涓暟鍊間負49211鐨勬秷鎭紝榪欐牱瀵艱嚧浜咲IPS涓葷嚎紼嬪敜閱掞紝闅忓悗鐨凢indWindow鍙兘浼氳繑鍥炰竴涓狽ULL錛屽洜涓鴻娑堟伅騫朵笉鏄寕閽╄繃婊ゅ嚱鏁扮殑鍙戦佺殑娑堟伅銆傚綋鐒訛紝濡傛灉鍦ㄨ繖閲孲leep涓涓嬶紝鍙互寰楀埌姝g‘鐨勭獥鍙e彞鏌勶紝鎴戝湪GetMessage鍑芥暟涓婂姞浜嗕竴涓猟o-while寰幆錛岀粨鏋滀篃鐨勭‘鏄繖鏍鳳紝鍑犳寰幆涔嬪悗鍙互鏀跺埌娑堟伅涓篧M_NULL鐨勬秷鎭紝涓斿弬鏁板潎涓?銆?br>銆銆浣嗘槸鎴戜笉鏄庣櫧涓轟粈涔堝姞涓婁簡涓鏉¢摼鎺ュ懡浠や細榪欐牱錛熶笉濡ㄥぇ瀹墮兘璇曡瘯鐪嬶紝鎴戠敤鐨処DE鏄疺S2005銆?br>銆銆鍝綅楂樻墜鍙互鏉ユ寚瀵兼垜涓涓嬪憿錛? <img src ="http://www.shnenglu.com/wz19860913/aggbug/87573.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/wz19860913/" target="_blank">灝忚檸鏃犲咖</a> 2009-06-13 13:37 <a href="http://www.shnenglu.com/wz19860913/archive/2009/06/13/87573.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鍏充簬DLL涓璂llMain鐨勭嚎紼嬫閿侀棶棰?/title><link>http://www.shnenglu.com/wz19860913/archive/2009/05/22/85472.html</link><dc:creator>灝忚檸鏃犲咖</dc:creator><author>灝忚檸鏃犲咖</author><pubDate>Fri, 22 May 2009 14:22:00 GMT</pubDate><guid>http://www.shnenglu.com/wz19860913/archive/2009/05/22/85472.html</guid><wfw:comment>http://www.shnenglu.com/wz19860913/comments/85472.html</wfw:comment><comments>http://www.shnenglu.com/wz19860913/archive/2009/05/22/85472.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/wz19860913/comments/commentRss/85472.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/wz19860913/services/trackbacks/85472.html</trackback:ping><description><![CDATA[銆銆鍓嶄竴闃舵闂茬潃鏃犺亰錛岀敤榪滅▼綰跨▼娉ㄥ叆鐨勬柟娉曟妸DLL娉ㄥ叆鍒癊xplorer.exe榪涚▼瀹炵幇闊充箰寰幆鎾斁銆? <p>銆銆鍦―LL涓殑浠g爜鏄繖鏍風殑錛?/p> <div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #000000">BOOL WINAPI DllMain(HINSTANCE hInstDll, DWORD fdwReason, PVOID fImpLoad)<br>{<br>    </span><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000"> HANDLE hThread;<br>    </span><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000"> DWORD dwThreadId;<br>    </span><span style="COLOR: #0000ff">switch</span><span style="COLOR: #000000"> (fdwReason)<br>    {<br>    </span><span style="COLOR: #0000ff">case</span><span style="COLOR: #000000"> DLL_PROCESS_ATTACH:<br>        g_hInstDll </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> hInstDll;<br>        hThread </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> BEGINTHREADEX(NULL, </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">, ThreadProc, (PVOID)hInstDll, </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">, </span><span style="COLOR: #000000">&</span><span style="COLOR: #000000">dwThreadId);<br>        </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000"> (hThread </span><span style="COLOR: #000000">==</span><span style="COLOR: #000000"> NULL)<br>        {<br>            </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> FALSE;<br>        }<br>        </span><span style="COLOR: #0000ff">break</span><span style="COLOR: #000000">;<br><br>    </span><span style="COLOR: #0000ff">case</span><span style="COLOR: #000000"> DLL_PROCESS_DETACH:<br>        SendMessage(g_hWnd, WM_CLOSE, </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">, </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">);<br>        WaitForSingleObject(hThread, INFINITE);    </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> 榪欓噷瀛樺湪姝誨驚鐜?/span><span style="COLOR: #008000"><br></span><span style="COLOR: #000000"><br>        CloseHandle(hThread);    </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"> 鎵ц涓嶅埌榪欓噷</span><span style="COLOR: #008000"><br></span><span style="COLOR: #000000">        </span><span style="COLOR: #0000ff">break</span><span style="COLOR: #000000">;<br><br>    </span><span style="COLOR: #0000ff">case</span><span style="COLOR: #000000"> DLL_THREAD_ATTACH:<br>        </span><span style="COLOR: #0000ff">break</span><span style="COLOR: #000000">;<br><br>    </span><span style="COLOR: #0000ff">case</span><span style="COLOR: #000000"> DLL_THREAD_DETACH:<br>        </span><span style="COLOR: #0000ff">break</span><span style="COLOR: #000000">;<br><br>    </span><span style="COLOR: #0000ff">default</span><span style="COLOR: #000000">:<br>        </span><span style="COLOR: #0000ff">break</span><span style="COLOR: #000000">;<br>    }<br>    </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> TRUE;<br>}</span></div> <br> <p>銆銆鍦―LL_PROCESS_ATTACH鐨勬椂鍊欏垱寤轟簡涓涓嚎紼嬶紝榪欎釜綰跨▼涓垱寤轟簡涓涓殣钘忕殑紿楀彛錛屽茍鍒╃敤MCI瀹炵幇鎾斁闊充箰錛屽叿浣撳氨涓嶈創鍑轟簡銆傜劧鍚庡湪DLL_PROCESS_DETACH涓仠姝㈠拰鍏抽棴璁懼銆?/p> <p>銆銆浣嗘槸鍦ㄥ簲鐢ㄧ▼搴忎腑錛屽彂鐜版敞鍏ユ椂鏃犲紓甯革紝鍦ㄩ渶瑕佹挙閿DLL鏄犲皠鏃跺嚭鐜頒簡闂錛岀▼搴忓嚭鐜頒簡姝誨驚鐜紝鍦ㄧ瓑寰呰繙紼嬬嚎紼嬫墽琛孎reeLibaray瀹屾瘯鏃朵笉榪斿洖浜嗐?/p> <p>銆銆娉ㄦ剰涓婇潰浠g爜涓璂LL_PROCESS_DETACH鐨勪唬鐮侊紝SendMessage鐢ㄦ潵鍏抽棴紿楀彛錛岀獥鍙d細鍦╓M_DESTROY閫氱煡涓嬭皟鐢≒ostQuitMessage(0)浣垮緱綰跨▼鐨勬秷鎭驚鐜鍑猴紝浠庤岀嚎紼嬮鍑恒備絾鏄疻aitForSingleObject鍑芥暟鏃犳硶榪斿洖銆?/p> <p>銆銆鍚庢潵鍙戠幇榪欓噷瀛樺湪姝誨驚鐜紝鍥犱負鎵цDllMain鐨勭嚎紼嬫槸搴忓垪鍖栫殑錛屽繀欏葷瓑寰呬竴涓嚎紼嬫墽琛屽畬姣曚箣鍚庡彟涓涓嚎紼嬫墠鑳芥墽琛屻傚湪SendMessage鍚庯紝瀵艱嚧鍒涘緩鐨勭嚎紼嬪嵆灝嗛鍑猴紝榪欐椂璇ョ嚎紼嬩細璋冪敤DllMain錛屽茍浠LL_THREAD_DETACH浣滀負閫氱煡銆傚彲鏄皟鐢⊿endMessage鐨勭嚎紼嬭皟鐢―llMain鏃跺嵈榪樺湪絳夊緟鍗沖皢閫鍑虹殑綰跨▼緇撴潫錛孌llMain榪樻病鏈夎繑鍥烇紝鍥犳瀛樺湪浜嗘寰幆銆?/p> <p>銆銆鍥犳錛屽湪DllMain涓笉閫傚悎璋冪敤WaitForSingleObject絳夊嚱鏁版潵絳夊緟綰跨▼瀹屾瘯銆?/p> <img src ="http://www.shnenglu.com/wz19860913/aggbug/85472.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/wz19860913/" target="_blank">灝忚檸鏃犲咖</a> 2009-05-22 22:22 <a href="http://www.shnenglu.com/wz19860913/archive/2009/05/22/85472.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>緇堜簬鍦–++鍗氬瀹夊鍟?/title><link>http://www.shnenglu.com/wz19860913/archive/2009/05/22/85471.html</link><dc:creator>灝忚檸鏃犲咖</dc:creator><author>灝忚檸鏃犲咖</author><pubDate>Fri, 22 May 2009 14:15:00 GMT</pubDate><guid>http://www.shnenglu.com/wz19860913/archive/2009/05/22/85471.html</guid><wfw:comment>http://www.shnenglu.com/wz19860913/comments/85471.html</wfw:comment><comments>http://www.shnenglu.com/wz19860913/archive/2009/05/22/85471.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/wz19860913/comments/commentRss/85471.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/wz19860913/services/trackbacks/85471.html</trackback:ping><description><![CDATA[銆銆浠ュ墠閮芥槸鍦ㄥ崥瀹㈠洯鐨勶紝鍙戠幇鍗氬鍥叧娉ㄧ殑鏄?Net鎶鏈紝鎰熻鍜岃嚜宸辯殑鍏磋叮涓庣壒闀垮叧緋諱笉澶э紝鍥犳鐢寵浜咰++鍗氬銆?br>銆銆鍘熷崥瀹㈠洯鍗氬鍦板潃錛?a >http://www.cnblogs.com/wz19860913/</a> <img src ="http://www.shnenglu.com/wz19860913/aggbug/85471.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/wz19860913/" target="_blank">灝忚檸鏃犲咖</a> 2009-05-22 22:15 <a href="http://www.shnenglu.com/wz19860913/archive/2009/05/22/85471.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <p>感谢您访问我们的网站,您可能还对以下资源感兴趣:</p> <a href="http://www.shnenglu.com/" title="精品视频久久久久">精品视频久久久久</a> <div class="friend-links"> </div> </div> </footer> <a href="http://www.waygoing.com.cn" target="_blank">久久久久亚洲av无码专区导航</a>| <a href="http://www.pzjc.net.cn" target="_blank">91久久精品91久久性色</a>| <a href="http://www.game839.cn" target="_blank">久久精品一区二区国产</a>| <a href="http://www.site5d.cn" target="_blank">亚洲AV无码久久精品蜜桃</a>| <a href="http://www.jhcplm.cn" target="_blank">97精品伊人久久大香线蕉</a>| <a href="http://www.lenticular3d.cn" target="_blank">日韩影院久久</a>| <a href="http://www.tnbzjrzhl.cn" target="_blank">久久夜色精品国产噜噜亚洲a</a>| <a href="http://www.thha.cn" target="_blank">青青青青久久精品国产h久久精品五福影院1421 </a>| <a href="http://www.dgwhmnk.cn" target="_blank">国产精品久久久久久久久久影院 </a>| <a href="http://www.idotime.cn" target="_blank">A级毛片无码久久精品免费</a>| <a href="http://www.zhengulao.cn" target="_blank">国内精品九九久久久精品</a>| <a href="http://www.78cbg.cn" target="_blank">国产亚洲欧美精品久久久</a>| <a href="http://www.veyp.cn" target="_blank">国产精品久久久久影院嫩草</a>| <a href="http://www.jtm0513.cn" target="_blank">国产精品福利一区二区久久</a>| <a href="http://www.sang423.cn" target="_blank">久久99国产精品久久99</a>| <a href="http://www.ouhly.cn" target="_blank">国内精品久久久久久久久</a>| <a href="http://www.dongfangmoney.cn" target="_blank">国产精品热久久毛片</a>| <a href="http://www.2046film.cn" target="_blank">久久影院久久香蕉国产线看观看</a>| <a href="http://www.quheitou.net.cn" target="_blank">久久综合久久性久99毛片</a>| <a href="http://www.vzxu.cn" target="_blank">久久久久久久久久久精品尤物</a>| <a href="http://www.55542.com.cn" target="_blank">亚洲狠狠婷婷综合久久蜜芽</a>| <a href="http://www.suvvoza.cn" target="_blank">久久er99热精品一区二区</a>| <a href="http://www.68admin.cn" target="_blank">国产激情久久久久影院小草</a>| <a href="http://www.zjhongfeng.cn" target="_blank">久久久噜噜噜久久中文字幕色伊伊</a>| <a href="http://www.0731z.cn " target="_blank">亚洲欧美日韩精品久久亚洲区</a>| <a href="http://www.yixue77.cn" target="_blank">18禁黄久久久AAA片</a>| <a href="http://www.chaikuo.cn" target="_blank">国产美女久久精品香蕉69</a>| <a href="http://www.audtw.cn" target="_blank">久久精品无码一区二区日韩AV </a>| <a href="http://www.rosettagetty.com.cn" target="_blank">久久国产精品波多野结衣AV</a>| <a href="http://www.jn104.cn" target="_blank">午夜精品久久久久</a>| <a href="http://www.antispy.cn" target="_blank">久久国产一区二区</a>| <a href="http://www.study1.cn" target="_blank">一本大道久久东京热无码AV</a>| <a href="http://www.03caiji.cn" target="_blank">久久婷婷五月综合色高清</a>| <a href="http://www.fsyongli188.cn" target="_blank">国产女人aaa级久久久级</a>| <a href="http://www.andz77.cn" target="_blank">亚洲中文字幕无码一久久区 </a>| <a href="http://www.baozhilong.cn" target="_blank">精品久久人人爽天天玩人人妻 </a>| <a href="http://www.vedz.cn" target="_blank">久久精品免费一区二区三区</a>| <a href="http://www.hongyun2000.cn" target="_blank">久久天天日天天操综合伊人av</a>| <a href="http://www.cctt88.cn" target="_blank">久久青青草原精品国产</a>| <a href="http://www.chizhou8.cn" target="_blank">色偷偷88欧美精品久久久</a>| <a href="http://www.ccssoo.com.cn" target="_blank">国产精品久久久久国产A级</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>