锘??xml version="1.0" encoding="utf-8" standalone="yes"?>久久人人爽人人爽爽久久,国产精品久久久,香蕉成人伊视频在线观看http://m.shnenglu.com/kenlistian/鍘氱Н钖勫彂. 鍕や負妗?鎬濅負甯? zh-cnTue, 30 Sep 2025 02:24:02 GMTTue, 30 Sep 2025 02:24:02 GMT60鍙戦佹秷鎭粰綰跨▼http://m.shnenglu.com/kenlistian/archive/2009/03/22/77479.htmlkenlistiankenlistianSun, 22 Mar 2009 05:06:00 GMThttp://m.shnenglu.com/kenlistian/archive/2009/03/22/77479.htmlhttp://m.shnenglu.com/kenlistian/comments/77479.htmlhttp://m.shnenglu.com/kenlistian/archive/2009/03/22/77479.html#Feedback0http://m.shnenglu.com/kenlistian/comments/commentRss/77479.htmlhttp://m.shnenglu.com/kenlistian/services/trackbacks/77479.htmlBOOL PostThreadMessage(
  DWORD idThread,     //綰跨▼ID,閫氳繃鍒涘緩綰跨▼鍚庣殑id
  UINT  Msg,           //娑堟伅id
  WPARAM wParam,    
  LPARAM lParam);
鐒跺悗鍦ㄧ嚎紼嬮氳繃GetMessage or PeekMessage鍘昏幏鍙栬娑堟伅.

浠g爜鐗囨濡備笅:
unsigned int CALLBACK thread_func(LPVOID lp)
{
while(1)
{
MSG msg;
while (GetMessage(&msg, NULL,  0, 0)) 
//while (PeekMessage(&msg, NULL,  0, 0,PM_REMOVE)) 
switch(msg.message) 
case WM_MYMESSAGE:
printf("\n *thread_func1:%d", msg.wParam);
break;
}
        } 
}

鍏朵腑鍙戦佺嚎紼嬬墖孌靛涓?
UINT dwId
_beginthreadex(NULL, 0, thread_func, NULL, 0, &dwId);
        ...



闄?
GetMessage(LPMSG lpMsg,  HWND hWnd,   UINT wMsgFilterMin,   UINT wMsgFilterMax)
PeekMessage(LPMSG lpMsg,  HWND hWnd,   UINT wMsgFilterMin,   UINT wMsgFilterMax,UINT wRemoveMsg)

    鍙傛暟wRemoveMsg鐨勪綔鐢ㄦ槸鎸囧畾娑堟伅鑾峰彇鐨勬柟寮忥紝濡傛灉璁句負PM_NOREMOVE,閭d箞娑堟伅灝嗕笉浼氫粠娑堟伅闃熷垪涓縐誨嚭錛屽鏋滆涓篜M_REMOVE錛岄偅涔堟秷鎭皢浼氫粠娑堟伅闃熷垪涓縐誨嚭錛?/div>

    涓や釜鍑芥暟涓昏鏈変互涓嬩袱涓尯鍒? 
    1.GetMessage灝嗙瓑鍒版湁鍚堥傜殑娑堟伅鏃舵墠榪斿洖,鑰孭eekMessage鍙槸鎾囦竴涓嬫秷鎭槦鍒椼?GetMessage 澶勪簬鎸傝搗絳夊緟娑堟伅鏉?鑰孭eekMessage鍒欎笉綆℃湁涓嶆湁娑堟伅閮借繑鍥?
    2.GetMessage浼氬皢娑堟伅浠庨槦鍒椾腑鍒犻櫎,鑰孭eekMessage鍙互璁劇疆鏈鍚庝竴涓弬鏁皐RemoveMsg鏉ュ喅瀹氭槸鍚﹀皢娑堟伅淇濈暀鍦ㄩ槦鍒椾腑銆?濡傛灉淇濈暀鍦ㄩ槦鍒椾腑,鏈濂界珛鍗沖鐞?

      鍦╓indows鐨勫唴閮紝GetMessage鍜孭eekMessage鎵ц鐫鐩稿悓鐨勪唬鐮併傝屼袱鑰呮渶澶х殑涓嶅悓涔嬪鍒欎綋鐜板湪娌℃湁浠諱綍娑堟伅榪斿洖鍒板簲鐢ㄧ▼搴忕殑鎯呭喌涓嬨傚湪姝ょ鎯呭喌涓嬶紝PeekMessage浼氳繑鍥炰竴涓┖鍊煎埌搴旂敤紼嬪簭錛孏etMessage浼氬湪姝ゆ椂璁╁簲鐢ㄧ▼搴忎紤鐪犮?/div>
(濡傛灉鍦ㄧ嚎紼嬩腑浣跨敤,鐢℅etMessage or PeekMessage閮芥棤鎵璋?涓嶉渶瑕佽冭檻娑堟伅闃熷垪鐨剅emove,娑堟伅闃熷垪鍦ㄥ悇涓嚎紼嬩腑涓嶈繃鏄釜鎷瘋礉?鑰屽凡.)


Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1573835


]]>waitformultipleobjects鐐規淮http://m.shnenglu.com/kenlistian/archive/2009/03/17/76890.htmlkenlistiankenlistianTue, 17 Mar 2009 10:50:00 GMThttp://m.shnenglu.com/kenlistian/archive/2009/03/17/76890.htmlhttp://m.shnenglu.com/kenlistian/comments/76890.htmlhttp://m.shnenglu.com/kenlistian/archive/2009/03/17/76890.html#Feedback0http://m.shnenglu.com/kenlistian/comments/commentRss/76890.htmlhttp://m.shnenglu.com/kenlistian/services/trackbacks/76890.html鍘熷瀷錛?br>DWORD WaitForMultipleObjects(
 DWORD nCount,
 const HANDLE* lpHandles,
 BOOL bWaitAll,
 DWORD dwMilliseconds
);

 絎竴涓弬鏁拌〃紺轟俊鍙鋒暟鐩?
褰撹緗産WaitAll = True,琛ㄧず蹇呴』鍏朵俊鍙峰繀欏婚兘杈懼埌nCount鎵嶅彲浠ヤ笅涓姝?鑰屼笉鏄痩pHandle鏁扮粍鐨勪俊鍙烽兘鍒?
    鍚屾椂,濡傛灉lpHandle鐨勬煇涓俊鍙稴etEvent澶氭,鏄笉浼氱瘡璁″埌nCount涓?涔熷氨鏄,褰撳涓嚎紼嬪湪澶勭悊瀹屼互鍚?鍙互鍦ㄥ悇鑷殑綰跨▼浣撳繀欏昏皟鐢ㄤ笉鍚岀殑event鍙ユ焺鏉ュ彂淇″彿,瀹冩墠浼氳绱杈懼埌nCount鍚庤В閿佽繘鍏ヤ笅涓姝?

]]>
Filter鐭ヨ瘑鐐規淮http://m.shnenglu.com/kenlistian/archive/2009/03/13/76502.htmlkenlistiankenlistianFri, 13 Mar 2009 11:45:00 GMThttp://m.shnenglu.com/kenlistian/archive/2009/03/13/76502.html鏉ヨ嚜http://blog.cnii.com.cn/?75821/viewspace-19610.html鐨勫紑鍙慺ilter浠嬬粛

 pdf



]]>
pin 榪炴帴鍐呴儴澶勭悊http://m.shnenglu.com/kenlistian/archive/2009/03/09/76040.htmlkenlistiankenlistianMon, 09 Mar 2009 14:36:00 GMThttp://m.shnenglu.com/kenlistian/archive/2009/03/09/76040.htmlhttp://m.shnenglu.com/kenlistian/comments/76040.htmlhttp://m.shnenglu.com/kenlistian/archive/2009/03/09/76040.html#Feedback0http://m.shnenglu.com/kenlistian/comments/commentRss/76040.htmlhttp://m.shnenglu.com/kenlistian/services/trackbacks/76040.html瀵逛簬pin鐨勮繛鎺ヨ繃紼?鎬葷粨涓?

   1.
   搴旂敤紼嬪簭閫氳繃璋冪敤filter graph 綆$悊鍣ㄦ柟娉曟潵榪炴帴filter.
   搴旂敤紼嬪簭璋冪敤IFilterGraph::ConnectDirect
               IGraphBuilder::Connect鏉ユ寚瀹氫笉鍚岀殑filter鐩存帴榪炴帴錛?br>              涔熷彲鐢↖GraphBuilder::RenderFile鑷姩瀹炵幇榪炴帴
   搴旂敤紼嬪簭鍙互閫氳繃IFilterGraph::AddFilter灝唂ilter 娣誨姞graph涓紝
   褰撲竴涓猣ilter琚坊鍔犲埌graph涓椂錛宖ilter鍥捐〃綆$悊鍣ㄩ氳繃IBaseFilter::JoinFilterGraph鏉ラ氱煡filter.

   榪欑偣璇存槑, 涓嶆槸filter鐨勭洿鎺ヨ繛鎺ュ嚱鏁扮浉浜掗摼鎺?鑰屾槸鍦ㄤ互涓婂唴閮ㄨ皟鐢ㄥ疄鐜扮殑.

   2. 鑰冭檻鍒頒互鍓嶆弿榪?br>              FilterA ---->FilterB
      鐨勮繛鎺ユ鏌ュ獟浣撶被鍨?閫昏緫鍩烘湰灝辨槸榪欐牱:

 寰幆FilterA鐨勮緭鍑簆in,鍐嶅驚鐜疐ilterB鐨勮緭鍏in濯掍綋綾誨瀷鏄惁鍜宲mt濯掍綋綾誨瀷
 鍖歸厤

 for (j = 0 ; j<FilterB.PinIn.MediaTypeCount; j++)
 {
             if (FilterB.PinIn.MediaType[j] = pmt )
      {
            if(FilterA.PinIn.ReceiveConnection(FilterA.PinOut, FilterB.MediaType[i]) = OK)
                   return TRUE;
      }

        }

        for (i= 0; i< FilterA.PinOut.MediaTypeCount; i++)
 {
      if (FilterA.PinOut.MediaType[i] 鏄惁鍦‵ilterB.PinIn涓槸鍚︽敮鎸?
        if (FilterA.PinIn.ReceiveConnection(FilterA.PinOut, FilterA.MediaType[i]) = OK)
             return TRUE;
 }

  鍦ㄥ疄鐜頒笂,璋冪敤嬈″簭浠ヤ笅榪囩▼:


filterGraph棣栧厛璋冪敤FilterA.PinOut::Connect().

FilterA.IPinOut::Connect()
       鍘熷瀷:IPin::Connect(IPin* pReceivePin, const AM_MEDIA_TYPE * pmt)     
       璇onnect鍙傛暟涓?br>            pReceivePin 涓?FilterB鐨勮緭鍏in,
            pmt         鏄疐ilterA鐨勫綋鍓嶅獟浣撶被鍨?
 


      鍦ㄥ唴閮ㄨ皟鐢?涓昏)
         hr = AgreeMediaType(pReceivePin, pmt);
             媯鏌ReceivePin 鏈夊惁pmt鐨勫獟浣撶被鍨?

  鏈?鍒欒嚜鐒秓k
  娌℃湁,澶辮觸,閫鍑鴻鍑芥暟.
         鍒欏湪AgreeMediaType鍋氫簡浠ヤ笂閫昏緫寰幆.

  
   IPin::AgreeMediaType鍑芥暟澶勭悊濡備笅:
 
      1.鍒ゆ柇pmt 鏄惁鏄畬鍏ㄥ獟浣撶被鍨?鏄垯鎸夊叏濯掍綋綾誨瀷妯″紡鍑烘潵
      2.闈炲畬鍏ㄥ獟浣撶被鍨?br>     IPin::EnumMediaTypes(IEnumMediaTypes** pEnum)
      鑾峰彇鏋氫婦鎸囬拡(鎸囧悜Pin涓殑濯掍綋綾誨瀷闆嗗悎).
   
           鍏堟灇涓緁ilterB鐨勮緭鍏in鐨勫獟浣撶被鍨嬬殑鏋氫婦闆?
         璋冪敤TryMediaTypes 鍑芥暟鍘誨垽鏂槸鍚﹀尮閰?
    榪樹笉鍖歸厤,鍙栧嚭FilterA鐨勬灇涓劇被鎸囬拡.鍐嶈皟鐢═ryMediaTyes
    

    IPin::TryMediaType()澶勭悊
    鍘熷瀷:
   HRESULT CBasePin::TryMediaTypes(IPin*pReceivePin, const CMediaType*pmt,
         IEnumMediaType *pEnum)

    鍦ㄨ鍑芥暟澶勭悊:
         for (pmt in 鎵鏈夎鏋氫婦闆嗕腑鐨勬灇涓懼獟浣撶被鍨?)
  {
     AttemptConnect(pReceivePin, pmt)
  }


    鍦ˋttemptConnection涓皟鐢?br>    CBasePin::AttemptConnection(IPin* pReceivePin, const CMediaType*pmt)
   
      媯鏌ilterA 鐨凜heckConnect(pReceivePin)
      FilterA鐨凱InOut::CheckMediaType(pmt)
           ok,return
      FilterA鐨凱inOut::SetMediaType(pmt)
       
      pReceivePin->ReceiveConnection(...)  (filterB 鐨凱inIn)
           ok,return
      FilterA鐨凱inOut::CompleteConnect(pReceivePin)



]]>
wxwidget鑷畾涔夋秷鎭鐞嗘楠?/title><link>http://m.shnenglu.com/kenlistian/archive/2009/02/06/73096.html</link><dc:creator>kenlistian</dc:creator><author>kenlistian</author><pubDate>Fri, 06 Feb 2009 04:06:00 GMT</pubDate><guid>http://m.shnenglu.com/kenlistian/archive/2009/02/06/73096.html</guid><wfw:comment>http://m.shnenglu.com/kenlistian/comments/73096.html</wfw:comment><comments>http://m.shnenglu.com/kenlistian/archive/2009/02/06/73096.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://m.shnenglu.com/kenlistian/comments/commentRss/73096.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/kenlistian/services/trackbacks/73096.html</trackback:ping><description><![CDATA[<p><br>鑷畾涔夋秷鎭鐞?br>(涓嶇煡閬撳湪wxpython,wxruby濡備綍鑷畾涔夌被鍨嬫秷鎭?<br>鏈濂借涓獁xpython,鍦ㄥ叾demo鐜板満緙栧啓鐜板満鏌ョ湅緇撴灉)</p> <p>姝ラ濡備笅:</p> <p>1.鍦ㄥ畯閲屽鐞嗗涓?</p> <p>a.<br></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"><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">BEGIN_DECLARE_EVENT_TYPES()<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top>    DECLARE_EVENT_TYPE(wxEVT_MYCOMMAND, xxxx)<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top>END_DECLARE_EVENT_TYPES()</span></div> <p><br>  xxxx 涓鴻嚜瀹氫箟鏁板瓧,涓嶈繃緲誨埌wxwidget鍐呴儴,鍏跺畯瀹氫箟涓value濂藉儚<br>  娌$敤!(...)</p> <p>b. 瀹氫箟wxEvT_MYCOMMAND 鏍囪瘑<br></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"><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">  DEFINE_EVENT_TYPE(wxEVT_MYMYCOMMAND)</span></div> <p> </p> <p>c. 瀹氫箟瀹廍VT_MYCOMMAND<br>   鏍煎紡涓妸鑷畾涔夋爣璇嗘敼涓鴻嚜宸卞嵆鍙?鎷瘋礉.</p> <p> </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"><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #0000ff">#define</span><span style="COLOR: #000000"> EVT_MYCOMMAND(id, fn) \</span><span style="COLOR: #000000"><br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top>    DECLARE_EVENT_TABLE_ENTRY( \<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top>        wxEVT_MYCOMMAND, id, wxID_ANY, \<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top>        (wxObjectEventFunction)(wxEventFunction)wxStaticCastEvent( wxCommandEventFunction, </span><span style="COLOR: #000000">&</span><span style="COLOR: #000000">fn ), \<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top>        (wxObject </span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">) NULL \<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top>    ),</span></div> <p> </p> <p><br>2.鍦˙EGIN_EVENT_TABLE琛ㄤ腑鑷畾涔夋槧灝?<br> </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"><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">   EVT_MY_CUSTOM_COMMAND(wxID_ANY, MyFrame::OnMyfunction)</span></div> <p> </p> <p>3.澶勭悊鎶曢?/p> <p>    鑷畾涔夋秷鎭彂閫?this 涓鑸槸鎺ュ彈娑堟伅handler,涔熷彲鍏跺畠wxEvtHandler.<br></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"><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">    wxCommandEvent myEvent(wxEVT_MY_CUSTOM_COMMAND);<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top>    wxPostEvent(</span><span style="COLOR: #0000ff">this</span><span style="COLOR: #000000">, myEvent);</span></div> <p> </p> <p>4.鑷畾涔夋秷鎭鐞嗗嚱鏁?br>   蹇呴』絎﹀悎wxCommandEventFunction鏍煎紡,鏃負濡備笅:<br></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"><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">     </span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000"> OnMyfunction(wxCommandEvent</span><span style="COLOR: #000000">&</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">event</span><span style="COLOR: #000000">);</span></div> <p> </p> <p> </p> <img src ="http://m.shnenglu.com/kenlistian/aggbug/73096.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/kenlistian/" target="_blank">kenlistian</a> 2009-02-06 12:06 <a href="http://m.shnenglu.com/kenlistian/archive/2009/02/06/73096.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鐣岄潰璁捐http://m.shnenglu.com/kenlistian/archive/2009/02/03/72859.htmlkenlistiankenlistianTue, 03 Feb 2009 03:35:00 GMThttp://m.shnenglu.com/kenlistian/archive/2009/02/03/72859.htmlhttp://m.shnenglu.com/kenlistian/comments/72859.htmlhttp://m.shnenglu.com/kenlistian/archive/2009/02/03/72859.html#Feedback0http://m.shnenglu.com/kenlistian/comments/commentRss/72859.htmlhttp://m.shnenglu.com/kenlistian/services/trackbacks/72859.html[Commerial]
 DialogBlocks   http://www.anthemion.co.uk/dialogblocks/
 wxDesigner      http://www.roebling.de/

[Free]
wxGlade    http://www.roebling.de/
VisualWx  http://visualwx.altervista.org/
XRCed      http://xrced.sourceforge.net/

wiki錛?http://wiki.wxformbuilder.org/
瀹樼綉錛?http://wxformbuilder.org/

鎺ㄨ崘鐩存帴鐢―ialogBlocks, 鑷充簬鐗堟湰闂,娌″姙娉?鍏堢敤鐫鍐嶈.
 Dialogblock鏄編鍥紸nthemion鍏徃寮鍙戠殑鍟嗕笟杞歡,濡傛灉鍙槸綆鍗?br>鐨勫寘鍚帶浠?鍒欏厤璐逛嬌鐢?

鍙?
鍦ㄧ幇鍦ㄧ紪紼嬩腑,鍒╃敤鐣岄潰璁捐宸ュ叿鎶婄晫闈㈣祫婧愪互xrc鏂瑰紡瀛樻斁,
鍦ㄧ▼搴忎腑璋冪敤鏄竴縐嶈秼鍔?





]]>
鍑犱釜闊抽鏍煎紡緇嗚妭澶囪(娣?http://m.shnenglu.com/kenlistian/archive/2009/01/05/71221.htmlkenlistiankenlistianMon, 05 Jan 2009 06:16:00 GMThttp://m.shnenglu.com/kenlistian/archive/2009/01/05/71221.htmlhttp://m.shnenglu.com/kenlistian/comments/71221.htmlhttp://m.shnenglu.com/kenlistian/archive/2009/01/05/71221.html#Feedback0http://m.shnenglu.com/kenlistian/comments/commentRss/71221.htmlhttp://m.shnenglu.com/kenlistian/services/trackbacks/71221.html
鍑犱釜鏍煎紡緇嗚妭澶囪(娣?


typedef struct  _MediaType {
    GUID      majortype; 
    GUID      subtype;
    BOOL      bFixedSizeSamples;
    BOOL      bTemporalCompression;
    ULONG     lSampleSize;
    GUID      formattype;
    IUnknown  *pUnk;                  //not use
    ULONG     cbFormat;
    BYTE *pbFormat;
} AM_MEDIA_TYPE;

涓昏鏈?br>   majortype  濯掍綋綾誨瀷澶ц嚧璇存槑
   subtype    鏇翠竴姝ョ殑緇嗚嚧璇存槑
   formattype 
      鍖呮嫭鏈変互涓嬶細鍏跺搴旂殑涓嶅悓鐨勬暟鎹牸寮?br>       FORMAT_None
       FORMAT_DvInfo
       FORMAT_MPEGVideo
       FORMAT_MPEG2Video
       FORMAT_VideoInfo
       FORMAT_VideoInfo2 
       FORMAT_WaveFormatEx  
       GUID_NULL

  cbForamt鎴愬憳鎸囧畾浜嗘牸寮忓潡pbFormat鐨勫ぇ灝?
  pbFormat鎸囬拡鎸囧悜鏍煎紡瀛愬潡銆?br>            pbFormat鏄竴涓獀oid*鐨勬寚閽堬紝鍥犱負鏍煎紡鍧椾細鍥犱負濯掍綋綾誨瀷
            鐨勪笉鍚岃屾湁涓嶅悓鐨勬寚鍚戙傚闊抽濉厖鐨勬槸WAVEFORMATEX緇撴瀯
     鏁版嵁.

     鍙互浠庝腑鍙栧嚭浼犳潵鐨勬暟鎹牸寮忋?br>    

 

//TWaveFormatEx 緇撴瀯:
TWaveFormatEx = packed record
  wFormatTag: Word;       {鎸囧畾鏍煎紡綾誨瀷; 榛樿 WAVE_FORMAT_PCM = 1;}
  nChannels: Word;        {鎸囧嚭娉㈠艦鏁版嵁鐨勯氶亾鏁? 鍗曞0閬撲負 1, 绔嬩綋澹頒負 2}
  nSamplesPerSec: DWORD;  {鎸囧畾鏍鋒湰閫熺巼(姣忕鐨勬牱鏈暟)}涓鑸負8000
  nAvgBytesPerSec: DWORD; {鎸囧畾鏁版嵁浼犺緭鐨勫鉤鍧囬熺巼(姣忕鐨勫瓧鑺傛暟)} 姣忕鐨勫瓧鑺傛暟:
  nBlockAlign: Word;      {鎸囧畾鍧楀榻?鍗曚綅瀛楄妭), 鍧楀榻愭槸鏁版嵁鐨勬渶灝忓崟浣峿
  wBitsPerSample: Word;   {閲囨牱澶у皬(瀛楄妭)}姣忎釜鏍鋒湰鐨凚IT鏁扮洰錛屼竴鑸負16
  cbSize: Word;           {搴旇鏄緇撴瀯鐨勫ぇ灝弣
end;

nChannels       :   瀵逛簬pcm,鍏秐channels涓嶈秴榪?,瀵逛簬闈瀙cm鏍煎紡,鍒欒秴榪?.
nSamplesPerSec  :   閫氬父涓?kHz, 11.025 kHz, 22.05 kHz, and 44.1 kHz.
nAvgBytesPerSec :   姣忕浼犻佸瓧鑺傛暟 = nSamplesPerSec * nBlockAlign
nBlockAlign     :   瀵歸綈瀛楄妭  = nChannels * wBitsPerSample / 8
                    灝辨槸琛ㄧず涓涓牱鏈殑鏈灝忓瓧鑺?
wBitsPerSample  :   鍦ㄦ牸寮忛粯璁ゆ儏鍐典笅,涓鑸負8,16,琛ㄧず鐨勬槸鏍鋒湰鐨刡it 鏁?/p>

瀵逛簬涓涓?浣?11k浼犺緭鐨勭珛浣撳0鍒?br>nChannels  = 2
nSamplesPerSec(姣忕鐨勬牱鏈暟) = 11025  灝辨槸鍙栨牱鏁?br>nBlockAlign  = 2 * 8 / 8= 2           瀵歸綈瀛楄妭錛屾渶灝忔牱鏈瓧鑺傛暟
nAvgBytesPerSec = 11025 *  2 = 22050
wBitsPerSample  = 8
 

 涓嬮潰鐨勫浘鍒楁竻妤氫粠鍙︿竴涓柟闈㈣〃杈炬牱鏈?br>
 鏍鋒湰1  鏍鋒湰2 ...n
8浣嶅崟澹伴亾 0澹伴亾 0澹伴亾
8浣嶇珛浣撳0 0澹伴亾L         1澹伴亾R  0澹伴亾L  1澹癛閬?/td>
16浣嶅崟澹伴亾 0澹伴亾(浣庡瓧鑺?    0澹伴亾(楂樺瓧鑺? 0澹伴亾(浣庡瓧鑺?    0澹伴亾(楂樺瓧鑺?
16浣嶇珛浣撳0

0澹伴亾(浣庡瓧鑺?0澹伴亾錛堥珮瀛楄妭錛?澹伴亾(浣? 1澹伴亾(楂? 

鍚屽乏

                                                                                                                     
                                        
                                   
---------

waveform-audio 緙撳瓨鏍煎紡銆    
  typedef   struct   {    
          LPSTR     lpData;           //鍐呭瓨鎸囬拡錛屾斁緗煶棰憄cm鏍鋒湰鏁版嵁
          DWORD     dwBufferLength;   //闀垮害    
          DWORD     dwBytesRecorded;  //宸插綍闊崇殑瀛楄妭闀垮害  
          DWORD     dwUser;    
          DWORD     dwFlags;    
          DWORD     dwLoops;           //寰幆嬈℃暟  
          struct   wavehdr_tag* lpNext; //淇濈暀    
          DWORD     reserved;           //淇濈暀
  }   WAVEHDR; 
 
  鍏朵腑lpdata 鍗充負pcm鏍煎紡鏍鋒湰鏁版嵁銆?br> 
閲囨牱澶у皬涓?浣嶏紝鍒欓噰鏍風殑鍔ㄦ佽寖鍥翠負20*log(256)鍒嗚礉=48db銆?br>鏍鋒湰澶у皬涓?6浣嶏紝鍒欓噰鏍峰姩鎬佽寖鍥翠負20*log(65536)澶х害鏄?6鍒嗚礉

鎸箙澶у皬錛?#160;  20*log(A1/A2)鍒嗚礉錛孉1,A2涓轟袱涓0闊崇殑鎸箙銆?br>鍒欏浜庣殑闊抽錛?br>          8浣?#160;      20 * lg( lpData[0] /256)
   16浣?#160;     20 * lg( lpData[0]--lpData[1] / 65536)
 鑰冭檻鍒板崟鍙岄亾錛岃繕闇瑕佺浉搴斿彇鍑哄乏鍙沖0閬撶殑鍊箋?br> 鑰冭檻鍒發g姹傚間負璐?8鑷?涔嬮棿錛屽垯鍦ㄥ疄闄呰漿鎹腑闇瑕?48or96.


鏍鋒湰澶у皬  鏁版嵁鏍煎紡      鏈澶у?#160; 鏈灝忓?
8浣峆CM    unsigned int   256     0
16浣峆CM   int            32767  -32767

 8浣嶉煶棰戞槸unsigned 瀛樻斁娉㈠艦,鍙栨尟騫呰-127.
 鑰?6浣嶅洜鍏跺瓨鏀句負int 綾誨瀷,鐩存帴濂楃敤鍏紡.
 

audiometer宸﹀彸澹伴亾闊抽噺鎺㈡祴紼嬪簭錛?a href="http://m.shnenglu.com/Files/kenlistian/audioVu_di.rar">鍙傝冧唬鐮?delphi鐗?/a>錛?/p>

 



]]>
鍙挱鏀緍m,rmvb鏍煎紡鎾斁鍣ㄧ殑鏂規硶http://m.shnenglu.com/kenlistian/archive/2008/12/28/70557.htmlkenlistiankenlistianSun, 28 Dec 2008 03:21:00 GMThttp://m.shnenglu.com/kenlistian/archive/2008/12/28/70557.html
Source(.rm/.rmvb)->RealMediaSplitter->Video(Audio)->real a/v decoder->A/V   Render

鍏跺疄澶嶅師騫舵煡鎵捐ax寰堢畝鍗曪紝瀹夎鏆撮鍚庡湪graphedit涓紝鎷栦竴涓猺m鏂囦歡錛?br>鏌ョ湅瑙g爜榪囩▼錛岀劧鍚庡湪filter鍒楄〃涓壘鍑鴻ax鏂囦歡鍚嶏紝鍗沖彲鏋勫緩鍒拌嚜宸辯殑
鎾斁鍣ㄤ腑銆?

]]>
directsound鐨勪竴浜涘熀鏈湱璁?/title><link>http://m.shnenglu.com/kenlistian/archive/2008/12/27/70521.html</link><dc:creator>kenlistian</dc:creator><author>kenlistian</author><pubDate>Sat, 27 Dec 2008 10:30:00 GMT</pubDate><guid>http://m.shnenglu.com/kenlistian/archive/2008/12/27/70521.html</guid><wfw:comment>http://m.shnenglu.com/kenlistian/comments/70521.html</wfw:comment><comments>http://m.shnenglu.com/kenlistian/archive/2008/12/27/70521.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://m.shnenglu.com/kenlistian/comments/commentRss/70521.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/kenlistian/services/trackbacks/70521.html</trackback:ping><description><![CDATA[<p>1銆侀厤緗瓺irectDound鐨勫紑鍙戠幆澧?br>鍖呭惈浠ヤ笅<br>#include <mmsystem.h><br>#include <dsound.h><br>娣誨姞Dsound.lib搴?br>comctl32.lib dxerr9.lib winmm.lib dsound.lib dxguid.lib odbc32.lib odbccp32.lib錛?/p> <p>2 DiectDound鍑犱釜瀵硅薄<br> <br>  鍒涘緩涓涓澶囧璞★紝鍚庨氳繃璁懼瀵硅薄鍒涘緩緙撳啿鍖哄璞°?br>  杈呭姪緙撳啿鍖虹敱搴旂敤紼嬪簭鍒涘緩鍜岀鐞嗭紝DirectSound浼氳嚜鍔ㄥ湴鍒涘緩鍜岀鐞嗕富緙撳啿鍖猴紝</p> <p><br>3 鎾斁闊抽鏂囦歡寮鍙戠殑鍩烘湰嫻佺▼</p> <p>銆a 鍒涘緩涓涓澶囧璞★紝璁劇疆璁懼瀵硅薄鐨勫崗浣滃害銆?</p> <p>銆銆  璋冪敤DirectSoundCreat8鍒涘緩涓涓敮鎸両DirectSound8鎺ュ彛鐨勫璞★紝<br>      榪欎釜瀵硅薄閫氬父浠h〃緙虹渷鐨勬挱鏀捐澶囥?br>  銆<br>      銆濡傛灉娌℃湁澹伴煶杈撳嚭璁懼錛岃繖涓嚱鏁板氨榪斿洖error錛屾垨鑰咃紝鍦╒XD椹卞姩紼嬪簭涓嬶紝<br>      濡傛灉澹伴煶杈撳嚭璁懼姝h鏌愪釜搴旂敤紼嬪簭閫氳繃waveform鏍煎紡鐨刟pi鍑芥暟鎵鎺у埗錛?br>      璇ュ嚱鏁頒篃榪斿洖error銆?nbsp;</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"><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">LPDIRECTSOUND8 lpDirectSound; <br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top>HRESULT hr </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> DirectSoundCreate8(NULL,</span><span style="COLOR: #000000">&</span><span style="COLOR: #000000">lpDirectSound, NULL));</span></div> <p>      褰撳垱寤哄畬璁懼瀵硅薄鍚庯紝璋冪敤IDirectSound8::SetCooperativeLevel鏉ヨ緗?br>      鍗忎綔搴︼紝鍚﹀垯鍚笉鍒板0闊?<br><br>  b.鍒涘緩涓涓緟鍔〣uffer錛屼篃鍙悗澶囩紦鍐插尯<br>      (IDirectSound8::CreateSoundBuffer)<br>      鍒涘緩鐨刡uffer縐頒綔杈呭姪緙撳啿鍖猴紝Direcsound閫氳繃鎶婂嚑涓悗澶囩紦鍐插尯鐨勫0闊?br>      娣峰悎鍒頒富緙撳啿鍖轟腑錛岀劧鍚庤緭鍑哄埌澹伴煶杈撳嚭璁懼涓婏紝杈懼埌娣烽煶鐨勬晥鏋溿?/p> <p>  c. 鑾峰彇PCM綾誨瀷鐨勬暟鎹?br>    <br>銆銆灝哤AV鏂囦歡鎴栬呭叾浠栬祫婧愮殑鏁版嵁璇誨彇鍒扮紦鍐插尯涓?/p> <p>  d. 灝嗘暟鎹鍙栧埌緙撳啿鍖?br>       鍏朵腑鐢ㄥ埌浠ヤ笅鏉ラ攣緙撳啿鍖恒?br>          IDirectSoundBuffer8::Lock<br>          IDirectSoundBuffer8::Unlock.</p> <p>  e. 鎾斁緙撳啿鍖轟腑鐨勬暟鎹?br>       IDirectSoundBuffer8::Play  鎾斁緙撳啿鍖轟腑鐨勯煶棰戞暟鎹紝<br>       IDirectSoundBuffer8::Stop 鏆傚仠鎾斁鏁版嵁錛?br>       <br>       鑾峰彇鎴栬呰緗鍦ㄦ挱鏀劇殑闊抽鐨勯煶閲忕殑澶у皬<br>銆 銆IDirectSoundBuffer8::GetVolume <br>         IDirectSoundBuffer8::SetVolume</p> <p>      鑾峰彇璁劇疆闊抽鎾斁鐨勯鐜?br>銆  銆IDirectSoundBuffer8::GetFrequency <br>         IDirectSoundBuffer8::SetFrequency    <br>              涓葷紦鍐插尯鐨勯鐜囦笉鍏佽鏀瑰姩錛?/p> <p>      璁劇疆闊抽鍦ㄥ乏鍙沖0閬撴挱鏀劇殑浣嶇疆<br>          IDirectSoundBuffer8::GetPan <br>          IDirectSoundBuffer8::SetPan</p> <p>銆銆鍖呭惈鍏ㄩ儴闊抽鏁版嵁鐨勭紦鍐插尯鎴戜滑縐頒負闈欐佺殑緙撳啿鍖猴紝<br>        灝界涓嶅悓鐨勫0闊沖彲鑳戒細鍙嶅浣跨敤鍚屼竴涓唴瀛榖uffer錛屼絾闈欐佺紦鍐插尯鐨勬暟鎹彧鍐欏叆涓嬈°?/p> <p>        闈欐佺紦鍐插尯鍙~鍏呬竴嬈℃暟鎹紝鐒跺悗灝卞彲浠lay錛?br> <br> 銆緇欓潤鎬佺紦鍐插尯鍔犺澆鏁版嵁鍒嗕笅闈㈠嚑涓楠?br>銆銆1銆佺敤IDirectSoundBuffer8::Lock鍑芥暟鏉ラ攣瀹氭墍鏈夌殑鍐呭瓨錛?br>            鎸囧畾浣犻攣瀹氬唴瀛樹腑浣犲紑濮嬪啓鍏ユ暟鎹殑鍋忕Щ浣嶇疆錛屽茍涓斿彇鍥炶鍋忕Щ浣嶇疆鐨勫湴鍧銆?br>銆銆2銆侀噰鐢ㄦ爣鍑嗙殑鏁版嵁copy鏂規硶錛屽皢闊抽鏁版嵁澶嶅埗鍒拌繑鍥炵殑鍦板潃銆?br>銆銆3銆佽皟鐢↖DirectSoundBuffer8::Unlock.錛岃В閿佽鍦板潃銆?/p> <p><br>鐢╯tatic buffer 鎾斁wav鏂規硶</p> <p>   </p> <p> </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"><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">LPDIRECTSOUNDBUFFER8    g_pDSBuffer8 </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> NULL; </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">buffer</span><span style="COLOR: #008000"><br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">LPDIRECTSOUND8                   g_pDsd </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> NULL; </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">dsound</span><span style="COLOR: #008000"><br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">CWaveFile                                   </span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">g_pWaveFile</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> NULL;<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">鍒濆鍖朌irectSound宸ヤ綔</span><span style="COLOR: #008000"><br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">HRESULT hr;<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(FAILED(hr </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> DirectSoundCreate8(NULL,</span><span style="COLOR: #000000">&</span><span style="COLOR: #000000">g_pDsd,NULL)))<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top>銆</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> FALSE;<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">璁劇疆璁懼鐨勫崗浣滃害</span><span style="COLOR: #008000"><br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(FAILED(hr </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> g_pDsd</span><span style="COLOR: #000000">-></span><span style="COLOR: #000000">SetCooperativeLevel(m_hWnd,DSSCL_PRIORITY)))<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top>銆</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> FALSE;<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top>g_pWaveFile </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> CWaveFile;<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top>g_pWaveFile</span><span style="COLOR: #000000">-></span><span style="COLOR: #000000">Open(_T(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">c:\\test.wav</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">), NULL, WAVEFILE_READ);<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top>DSBUFFERDESC dsbd;<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top>ZeroMemory( </span><span style="COLOR: #000000">&</span><span style="COLOR: #000000">dsbd, </span><span style="COLOR: #0000ff">sizeof</span><span style="COLOR: #000000">(DSBUFFERDESC) );<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top>dsbd.dwSize </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">sizeof</span><span style="COLOR: #000000">(DSBUFFERDESC);<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top>dsbd.dwFlags </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> DSBCAPS_GLOBALFOCUS               </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">璁劇疆涓繪挱</span><span style="COLOR: #008000"><br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">                                </span><span style="COLOR: #000000">|</span><span style="COLOR: #000000"> DSBCAPS_CTRLFX<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top>                                </span><span style="COLOR: #000000">|</span><span style="COLOR: #000000"> DSBCAPS_CTRLPOSITIONNOTIFY <br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top>                                </span><span style="COLOR: #000000">|</span><span style="COLOR: #000000"> DSBCAPS_GETCURRENTPOSITION2;<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top>dsbd.dwBufferBytes </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> g_pWaveFile</span><span style="COLOR: #000000">-></span><span style="COLOR: #000000">GetSize();    <br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top>dsbd.lpwfxFormat </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> g_pWaveFile</span><span style="COLOR: #000000">-></span><span style="COLOR: #000000">m_pwfx;<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top>LPDIRECTSOUNDBUFFER lPBuffer;<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">鍒涘緩杈呭姪緙撳啿鍖哄璞?/span><span style="COLOR: #008000"><br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(FAILED(hr </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> g_pDsd</span><span style="COLOR: #000000">-></span><span style="COLOR: #000000">CreateSoundBuffer(</span><span style="COLOR: #000000">&</span><span style="COLOR: #000000">dsbd,</span><span style="COLOR: #000000">&</span><span style="COLOR: #000000">lpbuffer,NULL)))<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top>銆</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> ;<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">( FAILED(hr </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> lpbuffer</span><span style="COLOR: #000000">-></span><span style="COLOR: #000000">QueryInterface( IID_IDirectSoundBuffer8, (LPVOID</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">) </span><span style="COLOR: #000000">&</span><span style="COLOR: #000000">g_pDSBuffer8) ) )<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top>銆</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> ; <br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top>lpbuffer</span><span style="COLOR: #000000">-></span><span style="COLOR: #000000">Release();<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">鎾斁</span><span style="COLOR: #008000"><br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">LPVOID lplockbuf;<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top>DWORD len;<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top>DWORD dwWrite;<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top>g_pDSBuffer8</span><span style="COLOR: #000000">-></span><span style="COLOR: #000000">Lock(</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">, </span><span style="COLOR: #000000">&</span><span style="COLOR: #000000">lplockbuf,  </span><span style="COLOR: #000000">&</span><span style="COLOR: #000000">len,  NULL,  NULL, DSBLOCK_ENTIREBUFFER);<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">g_pWaveFile 澹伴煶鍐欏叆鍒發plockbuf鎵鎸囧湴鍧</span><span style="COLOR: #008000"><br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">g_pWaveFile</span><span style="COLOR: #000000">-></span><span style="COLOR: #000000">Read((BYTE</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">)lplockbuf, len, </span><span style="COLOR: #000000">&</span><span style="COLOR: #000000">dwWrite);<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top>g_pDSBuffer8</span><span style="COLOR: #000000">-></span><span style="COLOR: #000000">Unlock(lplockbuf,len,NULL,</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">);<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top>g_pDSBuffer8</span><span style="COLOR: #000000">-></span><span style="COLOR: #000000">SetCurrentPosition(</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">);<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top>g_pDSBuffer8</span><span style="COLOR: #000000">-></span><span style="COLOR: #000000">Play(</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">,DSBPLAY_LOOPING);</span></div> <p><br><br><br>   f  嫻佺紦鍐插尯鎾斁瓚呭ぇ鍨嬬殑wave鏂囦歡</p> <p>  銆嫻佺紦鍐插尯灝辨槸鎾斁閭d簺姣旇緝闀跨殑闊抽鏂囦歡,杈規挱鏀撅紝杈瑰~鍏匘irectSound緙撳啿鍖恒?/p> <p>   DirectSound鐨勯氱煡鏈哄埗<br>      鍥犱負Stream buffer 澶у皬鍙瀹圭撼涓閮ㄥ垎鏁版嵁錛屽湪鎾斁瀹岀紦鍐插尯涓殑鏁版嵁鍚庯紝<br>      DirectSound灝變細閫氱煡搴旂敤紼嬪簭錛屽皢鏂扮殑鏁版嵁濉厖鍒癉irectSound鐨勭紦鍐插尯涓?/p> <p> </p> <p> </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: #0000ff">#define</span><span style="COLOR: #000000"> MAX_AUDIO_BUF 4                        </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">璁劇疆4涓猙uffer</span><span style="COLOR: #000000"><br></span><span style="COLOR: #0000ff">#define</span><span style="COLOR: #000000"> BUFFERNOTIFYSIZE 1920               </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">姣忎釜buffer灝哄涓?920</span><span style="COLOR: #000000"><br><br>BOOL g_bPlaying     </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> FALSE;                                            </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">鏄惁姝e湪鎾斁</span><span style="COLOR: #008000"><br></span><span style="COLOR: #000000">LPDIRECTSOUNDNOTIFY8 g_pDSNotify </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> NULL; <br>DSBPOSITIONNOTIFY        g_aPosNotify[MAX_AUDIO_BUF];     </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">璁劇疆閫氱煡鏍囧織鐨勬暟緇?/span><span style="COLOR: #008000"><br></span><span style="COLOR: #000000"><br>HANDLE g_event[MAX_AUDIO_BUF];<br></span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> i </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">; i</span><span style="COLOR: #000000"><</span><span style="COLOR: #000000"> MAX_AUDIO_BUF;i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)<br>{<br>銆g_aPosNotify[i].dwOffset </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> i</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000"> BUFFERNOTIFYSIZE ;   <br>   銆g_aPosNotify[i].hEventNotify </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> g_event[i];<br>}<br><br></span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(FAILED(hr </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> g_pDSBuffer8</span><span style="COLOR: #000000">-></span><span style="COLOR: #000000">QueryInterface(IID_IDirectSoundNotify,(LPVOID </span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">) </span><span style="COLOR: #000000">&</span><span style="COLOR: #000000">g_pDSNotify )))<br>銆</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> ;<br><br>g_pDSNotify</span><span style="COLOR: #000000">-></span><span style="COLOR: #000000">SetNotificationPositions(MAX_AUDIO_BUF,g_aPosNotify);<br><br>g_pDSNotify</span><span style="COLOR: #000000">-></span><span style="COLOR: #000000">Release();</span></div> <p><br>     褰揇irectSound鎾斁鍒癰uffer鐨?920錛?840錛?760錛?680絳変綅緗椂錛?br>Directsound灝變細閫氱煡搴旂敤紼嬪簭錛屽皢g_event,璁劇疆涓洪氱煡鎬?<br>  搴旂敤紼嬪簭灝遍氳繃WaitForMultipleObjects 鍑芥暟絳夊緟DirectSound鐨勯氱煡錛?br>灝嗘暟鎹~鍏呭埌DirectSoun鐨勮緟鍔╃紦鍐插尯銆?/p> <p> </p> <p><br> </p> <img src ="http://m.shnenglu.com/kenlistian/aggbug/70521.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/kenlistian/" target="_blank">kenlistian</a> 2008-12-27 18:30 <a href="http://m.shnenglu.com/kenlistian/archive/2008/12/27/70521.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鏋氫婦嫻佺▼鍥?/title><link>http://m.shnenglu.com/kenlistian/archive/2008/12/15/69469.html</link><dc:creator>kenlistian</dc:creator><author>kenlistian</author><pubDate>Mon, 15 Dec 2008 02:07:00 GMT</pubDate><guid>http://m.shnenglu.com/kenlistian/archive/2008/12/15/69469.html</guid><wfw:comment>http://m.shnenglu.com/kenlistian/comments/69469.html</wfw:comment><comments>http://m.shnenglu.com/kenlistian/archive/2008/12/15/69469.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/kenlistian/comments/commentRss/69469.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/kenlistian/services/trackbacks/69469.html</trackback:ping><description><![CDATA[<img height=245 alt="" src="http://m.shnenglu.com/images/cppblog_com/kenlistian/enum.jpg" width=458 border=0><br><br>  Moniker 鏄釜鎺ュ彛銆? <img src ="http://m.shnenglu.com/kenlistian/aggbug/69469.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/kenlistian/" target="_blank">kenlistian</a> 2008-12-15 10:07 <a href="http://m.shnenglu.com/kenlistian/archive/2008/12/15/69469.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鑾峰彇紲為緳鍗¤澶囪礬鏁?/title><link>http://m.shnenglu.com/kenlistian/archive/2008/12/10/69027.html</link><dc:creator>kenlistian</dc:creator><author>kenlistian</author><pubDate>Wed, 10 Dec 2008 02:45:00 GMT</pubDate><guid>http://m.shnenglu.com/kenlistian/archive/2008/12/10/69027.html</guid><wfw:comment>http://m.shnenglu.com/kenlistian/comments/69027.html</wfw:comment><comments>http://m.shnenglu.com/kenlistian/archive/2008/12/10/69027.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/kenlistian/comments/commentRss/69027.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/kenlistian/services/trackbacks/69027.html</trackback:ping><description><![CDATA[<br><br>  嫻嬭瘯紲為緳鍗¤礬鏁幫紝鍏朵腑pDecoderFilter瑕佸搴斾笉鍚岀殑璁懼銆?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 src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">         </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> iDev </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://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top>        </span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000"> (</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> i </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">; i </span><span style="COLOR: #000000"><</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">10</span><span style="COLOR: #000000"> ; i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)<br><img id=Codehighlighter1_49_253_Open_Image onclick="this.style.display='none'; Codehighlighter1_49_253_Open_Text.style.display='none'; Codehighlighter1_49_253_Closed_Image.style.display='inline'; Codehighlighter1_49_253_Closed_Text.style.display='inline';" src="http://m.shnenglu.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_49_253_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_49_253_Closed_Text.style.display='none'; Codehighlighter1_49_253_Open_Image.style.display='inline'; Codehighlighter1_49_253_Open_Text.style.display='inline';" src="http://m.shnenglu.com/Images/OutliningIndicators/ContractedBlock.gif" align=top>        </span><span id=Codehighlighter1_49_253_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"><img src="http://m.shnenglu.com/Images/dot.gif"></span><span id=Codehighlighter1_49_253_Open_Text><span style="COLOR: #000000">{<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>            </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">榪欓噷鍙互鍒ゆ柇鏈夊嚑璺榫欏崱</span><span style="COLOR: #008000"><br><img src="http://m.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">            hr </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> CoCreateInstance(CLSID_RM_MPEG2_VIDEO_SUBPICTURE, NULL, CLSCTX_INPROC_SERVER,<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>                IID_IBaseFilter, (LPVOID </span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">) </span><span style="COLOR: #000000">&</span><span style="COLOR: #000000">pDecoderFilter);<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>            </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(hr </span><span style="COLOR: #000000">!=</span><span style="COLOR: #000000"> S_OK) <br><img src="http://m.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>                </span><span style="COLOR: #0000ff">break</span><span style="COLOR: #000000">;    <br><img src="http://m.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>            <br><img src="http://m.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align=top>            iDev</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">;<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>        }</span></span><span style="COLOR: #000000"><br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top>        </span><span style="COLOR: #0000ff">char</span><span style="COLOR: #000000"> sMsg[</span><span style="COLOR: #000000">256</span><span style="COLOR: #000000">];<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top>        sprintf(sMsg,</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">%d</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">, iDev);        <br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align=top>        MessageBox(ghApp, sMsg, </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">Msg</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">, MB_OK);</span></div> <img src ="http://m.shnenglu.com/kenlistian/aggbug/69027.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/kenlistian/" target="_blank">kenlistian</a> 2008-12-10 10:45 <a href="http://m.shnenglu.com/kenlistian/archive/2008/12/10/69027.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鑾峰彇緋葷粺璁懼鏂規硶---directshow 鐭ヨ瘑瀛︿範澶囨敞1(杞?http://m.shnenglu.com/kenlistian/archive/2008/12/09/68920.htmlkenlistiankenlistianTue, 09 Dec 2008 03:43:00 GMThttp://m.shnenglu.com/kenlistian/archive/2008/12/09/68920.htmlhttp://m.shnenglu.com/kenlistian/comments/68920.htmlhttp://m.shnenglu.com/kenlistian/archive/2008/12/09/68920.html#Feedback0http://m.shnenglu.com/kenlistian/comments/commentRss/68920.htmlhttp://m.shnenglu.com/kenlistian/services/trackbacks/68920.html1.閲囩敤緋葷粺璁懼鏋氫婦鍣ㄦ潵鏋氫婦.
   鏍規嵁紜歡緋葷粺縐嶇被鏉ユ灇涓劇郴緇熶腑娉ㄥ唽鐨刦ilter銆?br>   姣忎竴縐嶄笉鍚岀殑紜歡鍙兘鏈夎嚜宸辯殑filter錛屼篃鍙兘鎵鏈夌殑紜歡璁懼鍏辯敤filter銆?/p>

銆緋葷粺璁懼鏋氫婦鍣ㄦ槸鏍規嵁涓嶅悓鐨勭綾繪潵鍒涘緩鐨勶紝濡傦紝闊抽鍘嬬緝錛岃棰戞崟鎹夈?br>  涓嶅悓縐嶇被鐨勬灇涓懼櫒瀵逛簬姣忎竴縐嶈澶囪繑鍥炰竴涓嫭绔嬬殑鍚嶇О錛坢oniker錛夈?/p>

涓嬮潰鐨勬楠ゆ槸浣跨敤璁懼鏋氫婦鍣ㄦ潵鑾峰彇璁懼錛?/p>

1) 鍒涘緩鏋氫婦鍣ㄧ粍浠訛紝CLSID涓篊LSID_SystemDeviceEnum
2) 鎸囧畾鏌愪竴縐嶇被鍨嬭澶囷紝鑾峰彇璇ョ綾繪灇涓懼櫒
    閫氳繃ICreateDevEnum::CreateClassEnumerator鑾峰彇鏌愪竴縐嶇被鐨勬灇涓懼櫒錛?br>    璇ュ嚱鏁拌繑鍥炰竴涓狪EnumMoniker鎺ュ彛鎸囬拡錛?br>    閫氳繃媯鏌ヨ繑鍥炲兼槸鍚︿負S_OK鏉ュ垽鏂槸鍚﹁幏鍙栧埌璇ョ綾繪灇涓懼櫒.
3) 鐢↖EnumMoniker::Next鏋氫婦姣忎竴涓猰oniker銆?br>     榪欎釜鏂規硶榪斿洖涓涓狪Moniker鎺ュ彛鎸囬拡銆?br>4) 閫氳繃IMoniker::BindToStorage鑾峰彇璁懼鐨勫悕縐?/p>

澶ц嚧渚嬪瓙濡備笅錛?br>   

HRESULT hr;
ICreateDevEnum 
*pSysDevEnum = NULL;
hr 
= CoCreateInstance(CLSID_SystemDeviceEnum, NULL, CLSCTX_INPROC_SERVER,
          IID_ICreateDevEnum, (
void **)&pSysDevEnum);
if (FAILED(hr))銆return hr;

//鑾峰彇video compressor 縐嶇被鏋氫婦鍣?nbsp;
IEnumMoniker *pEnumCat = NULL;
hr 
= pSysDevEnum->CreateClassEnumerator(CLSID_VideoCompressorCategory, &pEnumCat,0);
if (hr == S_OK){

銆IMoniker 
*pMoniker = NULL;
銆ULONG cFetched;

while(pEnumCat->Next(1&pMoniker, &cFetched) == S_OK){

銆銆IPropertyBag 
*pPropBag;
銆銆hr 
= pMoniker->BindToStorage(00, IID_IPropertyBag, (void **)&pPropBag);
銆銆
if (SUCCEEDED(hr))
銆銆
{
銆銆銆
// 鑾峰彇璁懼鍚嶇О
銆銆銆VARIANT varName;
銆銆銆VariantInit(
&varName);
銆銆銆hr 
= pPropBag->Read(L"FriendlyName"&varName, 0);
銆銆銆
if (SUCCEEDED(hr)){銆銆銆
        
//鑾峰彇璁懼鍚嶇О
銆銆銆}

銆銆銆VariantClear(
&varName);
銆銆}

銆銆pMoniker
->Release();
銆}

銆pEnumCat
->Release();
}

pSysDevEnum
->Release();


2.閲囩敤Filer Mapper銆?br>   綾諱技鏉′歡鏌ヨ銆?br>
   姣旂郴緇熻澶囨灇涓懼櫒錛圫ystem Device Enumerator錛夌殑鏁堢巼瑕佷綆涓浜涖?br>   褰撹鏋氫婦鏌愮壒瀹氱綾葷殑filter鏃訛紝搴旈噰鐢ㄧ郴緇熻澶囨灇涓懼櫒鏂規硶錛屼絾鎼滅儲鏀寔鏌愮
   濯掍綋綾誨瀷鐨刦ilter鏃訛紝鐢╢ilter mapper.

   Filter Mapper 閫氳繃IFilerMapper2鎺ュ彛鎼滅儲鎺ュ彛錛?br>   閫氳繃璋冪敤IFilterMapper2::EnumMatchingFilters鏂規硶錛屼紶閫掍竴浜涘弬鏁版潵瀹氫箟鎼滅儲鏉′歡錛?br>   榪斿洖涓涓傚悎鏉′歡鐨刦ilter鐨勬灇涓懼櫒錛?br>
   榪斿洖鐨勬槸涓涓狪EnumMoniker鎺ュ彛錛屽茍瀵逛簬姣忎釜閫傚悎鐨刦ilter閮芥彁渚涗竴涓崟鐙殑moniker銆?/p>

渚嬪瓙錛?br>

//鏋氫婦鎵鏈夌殑鏀寔DV錛屽茍涓旇嚦灝戞湁涓涓緭鍑簆in鐨刦ilter錛?br>//榪欎釜filter鏀寔浠諱綍濯掍綋綾誨瀷銆?/span>
IFilterMapper2 *pMapper = NULL;
IEnumMoniker 
*pEnum = NULL;

hr 
=CoCreateInstance( CLSID_FilterMapper2,NULL, CLSCTX_INPROC, IID_IFilterMapper2, (void **&pMapper);
if (FAILED(hr)) {   }

GUID arrayInTypes[
2];
arrayInTypes[
0= MEDIATYPE_Video;
arrayInTypes[
1= MEDIASUBTYPE_dvsd;
hr 
= pMapper->EnumMatchingFilters(
           銆 
&pEnum,
                 
0,           // Reserved.
            銆TRUE,        // Use exact match?
            銆MERIT_DO_NOT_USE+1,  // Minimum merit.
            銆TRUE,        // At least one input pin?
            銆1,                 // Number of major type/subtype pairs for input.
            arrayInTypes,     // Array of major type/subtype pairs for input.
            NULL,   // Input medium.
            NULL,   // Input pin category.
            FALSE,  // Must be a renderer?
            TRUE,   // At least one output pin?
             0,      // Number of major type/subtype pairs for output.
              NULL,   // Array of major type/subtype pairs for output.
          銆NULL,   // Output medium.
             NULL);  // Output pin category.
                   
IMoniker 
*pMoniker;
ULONG cFetched; 

//鏋氫婦filter錛?/span>
while(pEnumCat->Next(1&pMoniker, &cFetched) == S_OK)
{
 銆IPropertyBag 
*pPropBag = NULL;
 銆hr 
= pMoniker->BindToStorage(00, IID_IPropertyBag, (void **)&pPropBag);
 銆
if (SUCCEEDED(hr))
 銆
{
            VARIANT varName;
   銆銆VariantInit(
&varName);
 銆  銆hr 
= pPropBag->Read(L"FriendlyName"&varName, 0);
 銆銆
if (SUCCEEDED(hr))
 銆銆
{
                   
//澶勭悊
 銆銆 }

 銆 銆VariantClear(
&varName);
銆}

銆pMoniker
->Release();
}


pMapper
->Release();
pEnum
->Release();

娉細
 * 鏈夊叧directshow鐨刟pi鍑芥暟錛屼及璁″彧鑳藉湪緗戜笂鎼滅儲錛岃嚦浜庝笅杞界殑msdn娌℃湁錛屾垨鑰呬笅涓猟ssdk2002鐗堟湰鐨刪elp鎵嶈兘鏈夈?br> * 鍦╠irectshow涓紝鍏充簬capture dev錛屾湁涓撻棬鐨刣emo婕旂ず濡備綍鑾峰彇闊寵璁懼銆傝繖閲屽彧鏄?br>鏄庝簡鑾峰彇璁懼鐨勬柟娉曘備互澶囦簡瑙c?br>


]]>
directshow 鍩烘湰鐭ヨ瘑3http://m.shnenglu.com/kenlistian/archive/2008/12/08/68878.htmlkenlistiankenlistianMon, 08 Dec 2008 12:21:00 GMThttp://m.shnenglu.com/kenlistian/archive/2008/12/08/68878.htmlhttp://m.shnenglu.com/kenlistian/comments/68878.htmlhttp://m.shnenglu.com/kenlistian/archive/2008/12/08/68878.html#Feedback0http://m.shnenglu.com/kenlistian/comments/commentRss/68878.htmlhttp://m.shnenglu.com/kenlistian/services/trackbacks/68878.html浣跨敤DirectShow鍐欎竴涓煶棰戞崟鎹変緥瀛?br>
DirectShow瀵圭‖浠剁殑鏀寔鏄氳繃鐗瑰畾鐨勫寘瑁匜ilter鏉ュ疄鐜扮殑銆?br>澹板崱浣跨敤鐨勬槸Audio Capture Filter錛孎ilter鍐呴儴浣跨敤浠aveIn寮澶?br>鐨勪竴濂桝PI瀹炵幇錛堝waveInOpen絳夛級銆?br>榪愯GraphEdit錛屾彃鍏ilter鏃訛紝鍦?#8220;Audio Capture Sources”鐩綍涓嬶紝
灝辮兘鐪嬪埌鎵鏈変唬琛ㄦ湰鍦版満鍣ㄤ笂鐨勫0鍗$殑鍚勪釜Filter(瑁呬簡鍑犲紶澹板崱錛屽氨浼氭湁鍑犱釜Filter)


DirectShow鍔犲叆涓涓‖浠禙ilter錛屾槸闈?#8220;鏋氫婦”錛涘0鍗ilter涔熶笉渚嬪銆?br>浠h〃澹板崱鐨凢ilter閮芥敞鍐屽湪CLSID_AudioInputDeviceCategory鐩綍涓嬶紝
浣跨敤緋葷粺璁懼鏋氫婦鍣ㄦ灇涓捐繖涓洰褰曪紝灝辮兘鍙戠幇瑕佸垱寤虹殑澹板崱瀵硅薄銆?br> 錛堝浣曟灇涓捐繖閲屽氨涓嶅啀璧樿堪浜嗐?
褰撴垚鍔熷姞鍏ュ0鍗ilter鍚庯紝鎺ヤ笅鍘葷殑闂灝辨槸瑕佸皢榪欎釜Filter涓庡叾浠朏ilter鐩歌繛銆?/p>


 鎯蟲崟鎹夌敓鎴愪竴涓猈ave鏂囦歡錛岄噰鐢ㄨ繃婊ゅ櫒鐨勫嬀榪炲涓?br>     澹板崱filter--->Wave Dest Filter  ---->File Writer Filter
 Wave Dest Filter鏄井杞疍irectX SDK鑷甫鐨勮繃婊ゅ櫒
    鍏跺姛鑳芥槸錛屽綋緇撴潫鎹曟崏鏃訛紝寰Wave鏂囦歡涓啓鍏ヤ竴涓枃浠跺ご淇℃伅銆?br>
 Filte Write Filter 鏄井杞郴緇熻繃婊ゅ櫒銆?br>鐢╣raphedit鍙互鍕捐繛鍚庢祴璇曚笅銆?/p>


//閲囩敤紼嬪簭鏉ヨ繛鎺ヨ繃婊ゅ櫒鐨勫ぇ鑷存柟娉?
//娌℃湁澶勭悊閿欒
void BuildAudioCaptureGraph(void)
{
 銆IBaseFilter *pSrc = NULL,            //鎹曟崏闊抽璁懼
               *pWaveDest = NULL,         //澶勭悊闊抽榪囨護鍣?br>        *pWriter = NULL;                      //浜х敓鏂囦歡榪囨護鍣?/p>

 銆IFileSinkFilter *pSink= NULL;
 銆IGraphBuilder *pGraph;

 銆// Create the Filter Graph Manager.
 銆CoCreateInstance(CLSID_FilterGraph, NULL, CLSCTX_INPROC_SERVER,     IID_IGraphBuilder, (void**)&pGraph);

 銆// Add the audio capture filter.
     //榪欓噷鐪佺暐浜嗘灇涓捐澶囧鐞?br> 銆FindAudioCapture(&pSrc);
 
 銆// audio capture devices and picks one.
 銆pGraph->AddFilter(pSrc, L"Capture");

 銆// Add the WavDest and the File Writer.
 銆AddFilterByClsid(pGraph, L"WavDest", CLSID_WavDest, &pWavDest);
 銆AddFilterByClsid(pGraph, L"File Writer", CLSID_FileWriter, &pWriter);

 銆//鏄痺riter鎺ュ彛涓睘鎬?br> 銆pWriter->QueryInterface(IID_IFileSinkFilter, (void**)&pSink);
 銆pSink->SetFileName(L"C:\test.wav", NULL);

 銆//榪炴帴filter
 銆ConnectTwoFilters(pGraph, pSrc, pWavDest);
 銆ConnectTwoFilters(pGraph, pWavDest, pWriter);
}


 



]]>
directshow 鍩烘湰瀛︿範2http://m.shnenglu.com/kenlistian/archive/2008/12/08/68835.htmlkenlistiankenlistianMon, 08 Dec 2008 04:50:00 GMThttp://m.shnenglu.com/kenlistian/archive/2008/12/08/68835.htmlhttp://m.shnenglu.com/kenlistian/comments/68835.htmlhttp://m.shnenglu.com/kenlistian/archive/2008/12/08/68835.html#Feedback0http://m.shnenglu.com/kenlistian/comments/commentRss/68835.htmlhttp://m.shnenglu.com/kenlistian/services/trackbacks/68835.htmlDirectShow鎶鏈槸寤虹珛鍦―irectDraw鍜孌irectSound緇勪歡鍩虹涔嬩笂鐨勶紝
瀹冮氳繃DirectDraw瀵規樉鍗¤繘琛屾帶鍒朵互鏄劇ず瑙嗛錛?br>閫氳繃DirectSound瀵瑰0鍗¤繘琛屾帶鍒朵互鎾斁澹伴煶銆?/p>

DirectShow鍔熻兘瀹炵幇錛?/p>

1.鍙彁渚涢珮璐ㄩ噺鐨勫濯掍綋嫻佺殑鎹曡幏鍜屽洖鏀懼姛鑳斤紱
2.鏀寔澶氱濯掍綋鏍煎紡錛屽寘鎷珹SF錛圓dvanced Systems Format錛夛紝MPEG錛圡otion Picture Experts Group錛夛紝AVI錛圓udio-Video Interleaved錛夛紝MP3錛圡PEG Audio Layer-3錛夊拰WAV澹伴煶鏂囦歡錛?br>3.鍙粠紜歡涓婃崟鑾峰獟浣撴暟鎹祦錛?br>4.鍙嚜鍔ㄦ嫻嬪茍浣跨敤瑙嗛鍜岄煶棰戝姞閫熺‖浠躲?/p>

鏁咃紝DirectShow鏄敤浜庡濯掍綋搴旂敤寮鍙戙?鍏跺疄灝辨槸涓涓蔣緙栫爜(or瑙g爜))
瀹冨厖鍒嗗彂鎸ュ獟浣撶殑鎬ц兘錛屾彁楂樿繍琛岄熷害錛屽彲浠ョ畝鍖栧獟浣撴挱鏀俱佸獟浣撻棿鐨勬牸寮忚漿鎹?br>鍜屽獟浣撴崟鑾風瓑宸ヤ綔銆傚悓鏃訛紝瀹冭繕鍏鋒湁鏋佸ぇ鐨勫彲鎵╁睍鎬у拰鐏墊椿鎬э紝鍙互鐢辯敤鎴瘋嚜宸?br>鍒涘緩緇勪歡錛屽茍灝嗚繖涓粍浠跺姞鍏irectShow緇撴瀯涓互鏀寔鏂扮殑鏍煎紡鎴栫壒孌婄殑鏁堟灉銆?/p>

搴旂敤紼嬪簭涓嶥irectShow緇勪歡浠ュ強DirectShow鎵鏀寔鐨勮蔣紜歡涔嬮棿鐨勫叧緋?br>濡傚浘1

 


浜屻傛蹇?br>1.榪囨護鍣?br>榪囨護鍣ㄥ垎涓轟互涓嬪嚑縐嶇被鍨嬶細
 a 婧愯繃婊ゅ櫒錛坰ource filter錛夛細
    婧愯繃婊ゅ櫒寮曞叆鏁版嵁鍒拌繃婊ゅ櫒鍥捐〃涓紝鏁版嵁鏉ユ簮鍙互鏄枃浠躲佺綉緇溿佺収鐩告満絳夈?br>    涓嶅悓鐨勬簮榪囨護鍣ㄥ鐞嗕笉鍚岀被鍨嬬殑鏁版嵁婧愩?/p>

 b 鍙樻崲榪囨護鍣紙transform filter錛夛細
   鍙樻崲榪囨護鍣ㄧ殑宸ヤ綔鏄幏鍙栬緭鍏ユ祦錛屽鐞嗘暟鎹紝騫剁敓鎴愯緭鍑烘祦銆?br>   鍙樻崲榪囨護鍣ㄥ鏁版嵁鐨勫鐞嗗寘鎷紪瑙g爜銆佹牸寮忚漿鎹€佸帇緙╄В鍘嬬緝絳夈?/p>

 c 鎻愪氦榪囨護鍣紙renderer filter錛夛細
    鎺ユ敹鏁版嵁騫舵妸鏁版嵁鎻愪氦緇欏璁俱?/p>

 d 鍒嗗壊榪囨護鍣紙splitter filter錛夛細
    鎶婅緭鍏ユ祦鍒嗗壊鎴愬涓緭鍑恒?br>    濡傦紝AVI鍒嗗壊榪囨護鍣ㄦ妸涓涓狝VI鏍煎紡鐨勫瓧鑺傛祦鍒嗗壊鎴愯棰戞祦鍜岄煶棰戞祦銆?/p>

 e 娣峰悎榪囨護鍣紙mux filter錛夛細
    鎶婂涓緭鍏ョ粍鍚堟垚涓涓崟鐙殑鏁版嵁嫻併?br>    濡傦紝AVI娣峰悎榪囨護鍣ㄦ妸瑙嗛嫻佸拰闊抽嫻佸悎鎴愪竴涓狝VI鏍煎紡鐨勫瓧鑺傛祦銆?br>    銆榪囨護鍣ㄧ殑榪欎簺鍒嗙被騫朵笉鏄粷瀵圭殑錛屽涓涓狝SF璇昏繃婊ゅ櫒錛圓SF Reader filter錛?br>       鏃㈡槸涓涓簮榪囨護鍣ㄥ張鏄竴涓垎鍓茶繃婊ゅ櫒銆?br>

2  filter graph

    榪囨護鍣ㄥ浘琛ㄧ敤鏉ヨ繛鎺ヨ繃婊ゅ櫒浠ユ帶鍒跺獟浣撴祦錛屽畠涔熷彲浠ュ皢鏁版嵁榪斿洖緇欏簲鐢ㄧ▼搴忥紝
    騫舵悳绱㈡墍鏀寔鐨勮繃婊ゅ櫒銆?br>    榪囨護鍣ㄦ湁涓夌鍙兘鐨勭姸鎬侊細榪愯銆佸仠姝㈠拰鏆傚仠銆?br>    鏆傚仠鏄竴縐嶄腑闂寸姸鎬侊紝鍋滄鐘舵佸埌榪愯鐘舵佸繀瀹氱粡榪囨殏鍋滅姸鎬併?br>    鏆傚仠鍙互鐞嗚В涓烘暟鎹氨緇姸鎬侊紝鏄負浜嗗揩閫熷垏鎹㈠埌榪愯鐘舵佽岃璁$殑銆?nbsp;  
    鍦ㄦ殏鍋滅姸鎬佷笅錛屾暟鎹嚎紼嬫槸鍚姩鐨勶紝浣嗚鎻愪氦榪囨護鍣ㄩ樆濉炰簡銆?br>   
    閫氬父鎯呭喌涓嬶紝榪囨護鍣ㄥ浘琛ㄤ腑鎵鏈夎繃婊ゅ櫒鐨勭姸鎬佹槸涓鑷寸殑銆?br>
3. 寮曡剼錛坧in錛?br>銆榪囨護鍣ㄥ彲浠ュ拰涓涓垨澶氫釜榪囨護鍣ㄧ浉榪烇紝
    榪炴帴鐨勬帴鍙d篃鏄疌OM褰㈠紡鐨勶紝縐頒負寮曡剼銆?br>   
    榪囨護鍣ㄥ埄鐢ㄥ紩鑴氬湪鍚勪釜榪囨護鍣ㄩ棿浼犺緭鏁版嵁銆?br>    姣忎釜寮曡剼閮戒粠Ipin榪欎釜COM瀵硅薄媧劇敓鍑烘潵鐨勩?br>    姣忎釜寮曡剼閮芥槸榪囨護鍣ㄧ殑縐佹湁瀵硅薄錛岃繃婊ゅ櫒鍙互鍔ㄦ佺殑鍒涘緩寮曡剼錛岄攢姣佸紩鑴氾紝鑷敱鎺у埗寮曡剼鐨勭敓瀛樻椂闂淬?br>    寮曡剼鍒嗚緭鍏ュ紩鑴氾紙Input pin錛夊拰杈撳嚭寮曡剼錛圤utput pin錛変袱縐嶇被鍨嬶紝
    涓や釜鐩歌繛鐨勫紩鑴氬繀欏繪槸涓嶅悓縐嶇被鐨勶紝鍗寵緭鍏ュ紩鑴氬彧鑳藉拰杈撳嚭寮曡剼鐩歌繛

銆榪囨護鍣ㄤ箣闂寸殑榪炴帴錛堜篃灝辨槸寮曡剼涔嬮棿鐨勮繛鎺ワ級錛屽疄闄呬笂鏄繛鎺ュ弻鏂瑰獟浣撶被鍨嬶紙Media Type錛夊崗鍟嗙殑榪囩▼銆傦紙濯掍綋綾誨瀷錛屼笉瀹屽叏濯掍綋綾誨瀷 鍐嶄笅涓鑺傛湁璁茶В)


   榪炴帴鐨勫ぇ鑷磋繃紼嬩負錛?br>     濡傛灉璋冪敤榪炴帴鍑芥暟鏃跺凡緇忔寚瀹氫簡瀹屾暣鐨勫獟浣撶被鍨嬶紝鍒欑敤榪欎釜濯掍綋綾誨瀷榪涜榪炴帴錛?br>  鎴愬姛涓庡惁閮界粨鏉熻繛鎺ヨ繃紼嬶紱
      濡傛灉娌℃湁鎸囧畾鎴栦笉瀹屽叏鎸囧畾浜嗗獟浣撶被鍨嬶紝
      鍒欐灇涓捐繃紼嬭鍚庨潰.鍏朵袱涓猣ilter鐨勮繛鎺ヨ瀹氬涓?
    
                 Filter A     ------------------> Filter B



------------------------------------------------------------- ------------------

璇存槑:
濯掍綋綾誨瀷錛圡edia Type錛?br>    涓や釜榪囨護鍣ㄧ浉榪炴椂錛屽繀欏諱嬌鐢ㄤ竴鑷寸殑濯掍綋綾誨瀷錛屽惁鍒欒繖涓や釜榪囨護鍣ㄥ氨涓嶈兘鐩歌繛銆?br>
    濯掍綋綾誨瀷鑳借瘑鍒笂涓綰ц繃婊ゅ櫒浼犻佺粰涓嬩竴綰ц繃婊ゅ櫒鐨勬暟鎹被鍨嬶紝騫跺鏁版嵁榪涜鍒嗙被銆?br>   濯掍綋綾誨瀷鐨勭粨鏋?nbsp; AM_MEDIA_TYPE
 
  AM_MEDIA_TYPE鐢變笁閮ㄥ垎緇勬垚錛?br>      Major type
      Subtype
      Format type
   
   閮戒嬌鐢℅UID 鏉ュ敮涓鏍囩ず
    
     Major type涓昏瀹氭ф弿榪頒竴縐嶅獟浣撶被鍨嬶紝榪欑濯掍綋綾誨瀷鍙互鏄棰戙侀煶棰戙佹瘮鐗規暟鎹祦鎴朚IDI鏁版嵁絳夛紱
     Subtype   榪涗竴姝ョ粏鍖栧獟浣撶被鍨嬶紝
              鎷胯棰戠殑璇村氨鏄繘涓姝ユ寚瀹氭槸RGB-24錛岃繕鏄疪GB-32錛屾垨鏄疷YVY絳夛紱
     Format type鍒欑敤涓涓粨鏋勬洿榪涗竴姝ョ粏鍖栧獟浣撶被鍨嬨?/p>

銆濯掍綋綾誨瀷鐨勪笁涓儴鍒嗛兘鎸囧畾浜嗘煇涓叿浣撶殑GUID鍊鹼紝鍒欑О榪欎釜濯掍綋綾誨瀷鏄畬鍏ㄦ寚瀹氱殑錛?br>    濯掍綋綾誨瀷鐨勪笁涓儴鍒嗕腑鏈変換浣曚竴涓兼槸GUID_NULL錛屽垯縐拌繖涓獟浣撶被鍨嬫槸涓嶅畬鍏ㄦ寚瀹氱殑銆?br>    GUID_NULL璧烽氶厤絎︿綔鐢?br>

pinout鍜宲inin鐨勮繛鎺ヨ繃紼嬪彲浠ョ敤涓嬮潰閫昏緫璇█琛ㄨ揪.

1.濡傝皟鐢ㄨ繛鎺ュ嚱鏁版椂宸茬粡鎸囧畾浜嗗畬鏁寸殑Media type錛屽垯鐢ㄨ繖涓狹edia type榪涜榪炴帴錛?br>鎴愬姛涓庡惁閮界粨鏉熻繛鎺ヨ繃紼嬶紱

2.濡傛病鏈夋寚瀹氭垨涓嶅畬鍏ㄦ寚瀹氫簡Media type錛?br>鍒欏涓?

  BOOL CheckFilterB_PinIn()
  {
       for(i = 0 ; i < FilterB.FPinIn.MediaTypeCount ; i++)
      {
           if (IsSameMediaType(FilterA.FPinOut,FilterB.FPinIn.MediaType[i]) = True)
          {
                 return TRUE;   //Pin涔嬮棿鐨勮繛鎺ユ垚鍔燂紱
          }
       }
        return FALSE;          //鍦↖nput pin涓嶆敮鎸佽濯掍綋綾誨瀷,澶辮觸.
    }


  榪斿洖FALSE鍐嶆灇涓綩utput pin涓婄殑鎵鏈塎edia type錛屽茍閫愪竴鐢ㄨ繖浜汳edia type涓嶪nput pin榪涜榪炴帴銆?br>  
   for(i = 0 ; i < FilterA.FPinOut.MediaTypeCount; i++)
   {
      if (CheckFilteB_PinIn(FilterA.FPinOut.MediaType[i]) = True )
      {
         return TRUE;
      }
   }
   return FALSE;  //filterA鍜宖ilterB鐨勮繛鎺ュけ璐?



 



]]>
directshow 鍩烘湰1http://m.shnenglu.com/kenlistian/archive/2008/12/08/68825.htmlkenlistiankenlistianMon, 08 Dec 2008 03:38:00 GMThttp://m.shnenglu.com/kenlistian/archive/2008/12/08/68825.htmlhttp://m.shnenglu.com/kenlistian/comments/68825.htmlhttp://m.shnenglu.com/kenlistian/archive/2008/12/08/68825.html#Feedback0http://m.shnenglu.com/kenlistian/comments/commentRss/68825.htmlhttp://m.shnenglu.com/kenlistian/services/trackbacks/68825.htmlDirectShow 鐨勫嚑涓帴鍙h鏄?br>(1) IGraphBuilder鎺ュ彛
     鐢ㄤ簬鏋勯燜ilter Graph鐨勬帴鍙o紝寤虹珛鍜岀鐞嗕竴緋誨垪鐨凢ilter錛岃繃婊ゅ拰澶勭悊婧愬獟浣撴祦銆?br>(2) IMediaControl鎺ュ彛
     鐢ㄤ簬鎺у埗澶氬獟浣撴祦鍦‵ilter Graph涓殑嫻佸姩錛屽嫻佺殑鍚姩鍜屽仠姝€?br>(3) IMediaEvent鎺ュ彛
     鐢ㄤ簬鎹曡幏鎾斁榪囩▼涓彂鐢熺殑浜嬩歡錛屽茍閫氱煡搴旂敤紼嬪簭錛屽EC_COMPLETE絳夈?br>(4) IVideoWindow鎺ュ彛
     鐢ㄤ簬鎺у埗瑙嗛紿楀彛鐨勫睘鎬с?br>(5) IMeadiaSeeking鎺ュ彛
     鐢ㄤ簬鏌ユ壘濯掍綋鐨勬帴鍙o紝瀹氫綅嫻佸獟浣擄紝鎺у埗澶氬獟浣撴暟鎹挱鏀炬彁渚涚簿紜帶鍒躲?br>(6) IBaseFilter鎺ュ彛
    浠嶪mediaFilter鎺ュ彛緇ф壙錛岀敤鏉ュ畾涔変竴涓叿浣撶殑榪囨護鍣ㄦ寚閽堬紝騫跺澶氬獟浣撴暟鎹繘琛屽鐞嗐?br>(7) IPin鎺ュ彛
    鐢ㄤ簬綆$悊涓や釜榪囨護鍣ㄤ箣闂寸殑Pin錛屼粠鑰岃繛鎺ヨ繃婊ゅ櫒銆?br>(8) IsampleGrabberCB鎺ュ彛
   鏄疭ample Grabber榪囨護鍣ㄧ殑涓涓帴鍙o紝鐢ㄤ簬褰撴祦濯掍綋鏁版嵁閫氳繃榪囨護鍣ㄦ椂榪涜閲囨牱浠ヨ幏寰楀撫鍥捐薄銆?/p>


Filter蹇呴』鍔犲叆鍒癋ilter Graph騫舵帴鍏ュ埌宸ヤ綔閾捐礬涓墠鑳藉彂鎸ヤ綔鐢ㄣ?br>濡傛兂緇曡繃Filter Graph鑰岀洿鎺ヤ嬌鐢‵ilter瀹炵幇鐨勫姛鑳芥ā鍧楋紝閭e氨瑕佸皢Filter鍔熻兘
縐繪鎴怐irectX濯掍綋瀵硅薄錛圖MO錛夈?br>Filter鏈?縐嶇姸鎬侊細鍋滄銆佹殏鍋滃拰榪愯銆?/p>

Filter Chain鏄浉浜掕繛鎺ョ潃鐨勪竴鏉ilter閾捐礬錛屽茍涓旈摼璺腑鐨勬瘡涓狥ilter鍏ㄩ兘鏈変竴涓浜?#8220;宸茶繛鎺?#8221;鐘舵佺殑
杈撳叆Pin錛岃嚦澶氭湁涓涓浜?#8220;宸茶繛鎺?#8221;鐘舵佺殑杈撳嚭Pin錛岃繖鏉ilter閾捐礬涓殑鏁版嵁嫻佷笉渚濊禆閾捐礬澶栫殑鍏朵粬Filter銆?/p>

Filter Chain閫氳繃IFilterChain鎺ュ彛鏉ヨ繘琛岀浉鍏蟲搷浣溿?br>褰揊ilter Graph澶勪簬榪愯鐘舵佷笅錛孎ilter Chain鍙互鍦ㄨ繍琛屽拰鍋滄鐘舵佷箣闂村垏鎹紱
褰揊ilter Graph澶勪簬鏆傚仠鐘舵佷笅錛孎ilter Chain鍙互鍦ㄦ殏鍋滃拰鍋滄鐘舵佷箣闂村垏鎹€?br>Filter Chain鍙湁涓ょ鐘舵佽漿鎹€?/p>

Filter鐨勬暟鎹紶閫?br>Filter涔嬮棿浠ample鐨勫艦寮忎紶閫佹暟鎹?br>Sample鏄竴涓皝瑁呬簡涓瀹氬ぇ灝忔暟鎹唴瀛樼殑COM緇勪歡銆?br>鐢ㄤ簬鏁版嵁浼犺緭鐨勪竴鑸槸杈撳叆pin涓婂疄鐜扮殑IMemInputPin鎺ュ彛銆?/p>

]]>
鏈夊叧direct show 緙栬瘧闂姹囨?杞?http://m.shnenglu.com/kenlistian/archive/2008/12/08/68797.htmlkenlistiankenlistianSun, 07 Dec 2008 17:11:00 GMThttp://m.shnenglu.com/kenlistian/archive/2008/12/08/68797.htmlhttp://m.shnenglu.com/kenlistian/comments/68797.htmlhttp://m.shnenglu.com/kenlistian/archive/2008/12/08/68797.html#Feedback0http://m.shnenglu.com/kenlistian/comments/commentRss/68797.htmlhttp://m.shnenglu.com/kenlistian/services/trackbacks/68797.html    浠ヤ笅閰嶇疆鍧囦互vc6涓轟富.

涓銆侀厤緗柟娉?
1 鍏堢紪璇慡amples\C++\DirectShow\BaseClasses涓殑宸ョ▼鏂囦歡銆?br>娉ㄦ剰宸ョ▼鐨勯粯璁ら夐」鏄?Debug_Unicode鐨勶紝鍦ㄩ潪Unicode鐨勫伐紼嬩腑浣跨敤榪橀渶瑕佺紪璇慏ebug鐗堟湰鐨勩?

 娉ㄦ剰:
  涓鑸敤 ansi debug鐗?涓嶆曢夯鐑︽妸release涔熺敓鎴?鍙栧嚭璇trmbasd.lib(strmbase.lib).
  鏀懼湪dxsdk涓殑lib涓?


2 闇瑕佽緗ソVC涓洰褰曠殑璁劇疆 include鐨勭洰褰曚腑娣誨姞 C:\DXSDK\Samples\C++\DirectShow\BaseClasses Lib鐨勭洰褰曚腑娣誨姞 C:\DXSDK\Samples\C++\DirectShow\BaseClasses\Debug
娉ㄦ剰:
  寤鴻鎶婃妸classes 鎶婂ご鏂囦歡鍙互鍗曠嫭鎷瘋礉鍒癲xsdk鐨刬nclude鍜宭ib涓?

3銆佷嬌鐢―irectShow鐨勫伐紼嬮渶瑕佹坊鍔犱笅闈袱涓ご鏂囦歡
#include   //DS鎺ュ彛銆佸熀綾葷殑瀹氫箟
#include    //CComPtr妯℃澘鐨勫畾涔?
#pragma comment(lib,"strmbasd.lib")
#pragma comment(lib,"winmm.lib")
#pragma comment(linker,"/NODEFAULTLIB:libcmtd.lib")

娉ㄦ剰:
  VC鑷甫鐨勫簱涓篃鏈塻trmbasd.lib鏂囦歡銆?br>涓瀹氳淇濊瘉榪炴帴鍒癉S鐨勫簱涓紝鍚﹀垯浼氬嚭鐜?#160;
strmbasd.lib(dllsetup.obj) : error LNK2001: unresolved external symbol "class CFactoryTemplate * g_Templates" (?g_Templates@@3PAVCFactoryTemplate@@A)
strmbasd.lib(dllentry.obj) : error LNK2001: unresolved external symbol "class CFactoryTemplate * g_Templates" (?g_Templates@@3PAVCFactoryTemplate@@A)
strmbasd.lib(dllsetup.obj) : error LNK2001: unresolved external symbol "int g_cTemplates" (?g_cTemplates@@3HA)
strmbasd.lib(dllentry.obj) : error LNK2001: unresolved external symbol "int g_cTemplates" (?g_cTemplates@@3HA) 涔嬬被鐨勯敊璇?

  浠ヤ笂link鎶ラ敊鍚勫紓,鏈濂芥妸lib鐨勪綅緗笂涓嬭皟璋?鍒摼鍒皏c鑷甫鐨勫簱涓?楝奸棶棰樺悕鍫傚お澶?鏈夋椂涔熷拰direct showsdk鐗堟湰鏈夊叧.

浜?緙栬瘧鍚庡嚭鐜扮殑閿欒:
1 syntax error : identifier 'DWORD_PTR'
濡備笅:
e:\directx9\samples\c++\directshow\baseclasses\wxutil.h(53) : error C2061: syntax error : identifier 'DWORD_PTR'
e:\directx9\samples\c++\directshow\baseclasses\ctlutil.h(43) : error C2504: 'IBasicVideo2' : base class undefined
e:\directx9\samples\c++\directshow\baseclasses\ctlutil.h(904) : error C2146: syntax error : missing ';' before identifier 'm_dwAdvise' e:\directx9\samples\c++\directshow\baseclasses\ctlutil.h(90) : error C2501: 'DWORD_PTR' : missing storage-class or type specifierse
   濡傛灉鍙戠敓榪欑鎯呭喌錛屼綘搴旇浠?Tools"鐩綍涓夋嫨"Option"錛?br>   鐒跺悗鍦╥nclude directory涓皢Platform SDK鍔犲埌VC inlcude涓?

娉ㄦ剰:
 1. 娌℃湁璇dk,闇瑕佸厛涓嬭澆platform sdk. 鍦ㄦ垜鐨勯殢絎斾腑鍖呭惈璇ラ摼鎺?
2. 瑕佹斁鍦↖nclude鏈鍓嶉潰.


2 LINK : fatal error LNK1104: cannot open file "mfc42ud.lib" mfc42ud.lib鏄笓闂ㄧ粰unicode鐢ㄧ殑 build-->set active Configuration--> XXX win32 debug 榪欐牱灝卞彲浠ヤ簡 

3“CComPtr< ”鎬庝箞鐢紵
CComPtr m_spApi;鍦ㄦ帶鍒跺彴紼嬪簭涓彲浠ョ紪璇戞垚鍔燂紝
   浣唌fc涓姤閿欙紝鎬庝箞鍥炰簨錛熼敊璇俊鎭細
error C2143: syntax error : missing ';' before '<'
error C2501: 'CComPtr' : missing storage-class or type specifiers
error C2059: syntax error : '<'
error C2238: unexpected token(s) preceding ';'
鍘熷洜錛氱己灝戞枃浠訛紝鍦╲c6涓槸atlbase.h錛屽彲鑳藉湪.net涓槸atlcomcli.h
瑙e喅鏂規硶錛氬湪stdafx.h涓姞鍏?include
 娉ㄦ剰:
    浠ヤ笂lib璺緞瑕佸.


5 璋冪敤CoInitializeEx(),緙栬瘧鍚庢樉紺烘湭瀹氫箟
CoInitializeEx()鏄埄鐢–OM緇勪歡鏃舵瘡涓嚎紼嬮兘瑕佽皟鐢ㄧ殑鍑芥暟錛?br>浣跨敤榪欎釜鍑芥暟闇瑕佹湁濡備笅璁劇疆錛?br>  鍦≒roject -> setting -> C/C++鏍囩涓嬬殑Preprocessor definitions涓姞鍏?_WIN32_WINNT=0x400"璇彞




]]>
鍏充簬link2001閿欒http://m.shnenglu.com/kenlistian/archive/2008/11/14/66872.htmlkenlistiankenlistianThu, 13 Nov 2008 17:26:00 GMThttp://m.shnenglu.com/kenlistian/archive/2008/11/14/66872.htmlhttp://m.shnenglu.com/kenlistian/comments/66872.htmlhttp://m.shnenglu.com/kenlistian/archive/2008/11/14/66872.html#Feedback2http://m.shnenglu.com/kenlistian/comments/commentRss/66872.htmlhttp://m.shnenglu.com/kenlistian/services/trackbacks/66872.html
緇忓父鍦ㄩ摼鎺ユ槸鎶ink2001閿欒錛屽叾涓竴鑸槸鍑芥暟浣撴病鏈夊畾涔夐敊璇備絾鏄帓闄や互涓婄畝鍗曠殑澶栵紝榪樻湁涓縐嶅涓嬫棤娉曡В鏋愮郴緇熸枃浠朵腑鐨勫嚱鏁板畾涔夈傚涓嬶細

LINK : warning LNK4098: 榛樿搴?#8220;LIBCMT”涓庡叾浠栧簱鐨勪嬌鐢ㄥ啿紿侊紱璇蜂嬌鐢?/NODEFAULTLIB:library
libcpmtd.lib(cerr.obj) : error LNK2001: 鏃犳硶瑙f瀽鐨勫閮ㄧ鍙?__CrtDbgReportW
libcpmtd.lib(stdthrow.obj) : error LNK2001: 鏃犳硶瑙f瀽鐨勫閮ㄧ鍙?__CrtDbgReportW
銆傘傘傘傘傘?br>libcpmtd.lib(_tolower.obj) : error LNK2019: 鏃犳硶瑙f瀽鐨勫閮ㄧ鍙?__calloc_dbg錛岃絎﹀彿鍦ㄥ嚱鏁?__Getctype 涓寮曠敤

鍍忚繖縐嶆儏鍐碉紝鍙互鎺ㄦ祴榪愮敤浜嗛敊璇殑榪愯搴撳寘銆?br>
鍦ㄤ竴紼嬪簭涓嬌鐢ㄤ笉鍚岀被鍨嬬殑榪愯鏃跺簱鎴栦嬌鐢ㄨ皟璇曞拰闈炶皟璇曠増鏈殑榪愯鏃跺簱錛屽垯灝嗘敹鍒版閾炬帴閿欒銆?br>
渚嬪錛岀紪璇戜竴涓枃浠朵互浣跨敤涓縐嶈繍琛屾椂搴擄紝鑰岀紪璇戝彟涓涓枃浠朵互浣跨敤鍙︿竴縐嶈繍琛屾椂搴擄紙渚嬪鍗曠嚎紼嬭繍琛屾椂搴撳澶氱嚎紼嬭繍琛屾椂搴擄級錛岃瘯鍥鵑摼鎺ュ畠浠紝鍒欏皢寰楀埌姝よ鍛娿傚簲灝嗘墍鏈夋簮鏂囦歡緙栬瘧涓轟嬌鐢ㄥ悓涓榪愯鏃跺簱銆?br>
鍏跺疄灝辨槸璋冩緙栬瘧鍣ㄩ夐」鍙傛暟錛?MD銆?MT   鍜?  /LD

鍦╲c8涓紝鍦?#8220;閰嶇疆灞炴?->C/C++-->浠g爜鐢熸垚-->榪愯鏃跺簱”涓皢“澶氱嚎紼嬶紙/MT錛?#8221;緇熶竴鏀逛負“澶氱嚎紼嬭皟璇曪紙/MTd錛?#8221;鍗沖彲銆?br>




]]>杞瑅c6涓嬬紪璇憌xWidget錛堝叏錛?/title><link>http://m.shnenglu.com/kenlistian/archive/2008/11/05/65986.html</link><dc:creator>kenlistian</dc:creator><author>kenlistian</author><pubDate>Tue, 04 Nov 2008 16:55:00 GMT</pubDate><guid>http://m.shnenglu.com/kenlistian/archive/2008/11/05/65986.html</guid><wfw:comment>http://m.shnenglu.com/kenlistian/comments/65986.html</wfw:comment><comments>http://m.shnenglu.com/kenlistian/archive/2008/11/05/65986.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/kenlistian/comments/commentRss/65986.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/kenlistian/services/trackbacks/65986.html</trackback:ping><description><![CDATA[<p>鍓嶈█錛?a ><font color="#366217">wxWidgets</font></a> 鏄法騫沖彴鐨凣UI搴擄紝鐢╒C6浼氬獎鍝嶅畠鐨勮法騫沖彴鎬у悧錛熷綋鐒朵笉浼氾紝鎴戜滑鍙槸鐢╒C6鍏呭綋緙栬瘧鍣ㄥ拰緙栬緫鍣紝鍙緙栧啓浠g爜鏃舵敞鎰忎笉浣跨敤Windows鐩稿叧鐨勭壒鎬э紝鍐欏嚭鐨勪唬鐮佷粛鐒舵槸璺ㄥ鉤鍙扮殑錛屼粛鐒舵槸鍙互鍦ㄥ叾瀹冩搷浣滅郴緇熶笅錛堝Linux錛変嬌鐢ㄥ叾瀹僀++緙栬瘧鍣紙濡侴CC錛夌紪璇戝茍榪愯鐨勩?/p> <p>涓轟粈涔堢敤VC6錛屽彧涓嶈繃姝ゆ枃涓撻棬閽堝VC6鑰屽凡銆?</p> <h1>鍒涘緩欏圭洰</h1> <p>鐐瑰嚮鑿滃崟錛欶ile -> New... 鍒涘緩涓涓?Win32 Application" Project錛岄」鐩悕縐頒負"wxProject"錛岀偣鍑籓K鎸夐挳錛?/p> <p>鍦ㄤ笅涓姝ョ殑鎻愮ず涓夋嫨"An Empty Project"錛岀偣鍑籉inish鎸夐挳瀹屾垚欏圭洰鐨勫垱寤恒?/p> <p>浠ヤ笅鐨勮緗拰鎿嶄綔鍙兘鏈変竴浜涚箒鐞愶紝浣嗚繖鏄竴鍔蟲案閫哥殑浜嬫儏銆傚彧瑕佷綘瀹屾垚浜嗙涓涓┖鐧藉伐紼嬶紝浠ュ悗鍐嶉渶瑕佸垱寤哄伐紼嬫椂澶嶅埗涓浠藉氨鍙互浜嗐?/p> <p>銆</p> <h1>璁劇疆欏圭洰灞炴?/h1> <p>浠ヤ笅鍥涗釜緙栬瘧閰嶇疆騫朵笉瑕佹眰閮藉繀欏昏緗ソ錛屽鏋滄偍涓嶆墦綆椾嬌鐢║nicode錛岄偅涔堜笉鐢ㄨ緗?Win32 Unicode Debug"鍜?Win32 Unicode Release"錛屽鏋滄偍浠呬粎鎯寵皟璇曠▼搴忚岄潪鍙戝竷錛屽垯鍙渶璁劇疆鐩稿簲鐨?Debug"涓嶇敤璁劇疆"Release"銆傛渶綆鍗曠殑鎯呭喌涓嬶紝鍙渶璁劇疆"Win32 Debug"銆?/p> <p>榪樻湁涓鐐硅娉ㄦ剰錛屾偍闇瑕佷簨鍏堢紪璇戝嚭鐩稿簲鐗堟湰鐨?wxWidgets 搴撴枃浠躲傚"Win32 Unicode Debug"闇瑕? Unicode+Debug 鐗堟湰鐨?wxWidgets 搴撱傦紙wxWidgets 鍚勭鐗堟湰搴撳潎鍙氳繃 <wx瀹夎鐩綍>\build\msw\wx.dsw 榪涜緙栬瘧錛夈?/p> <p>鐐瑰嚮鑿滃崟錛歅roject -> Settings... 鎵撳紑欏圭洰灞炴ц緗璇濇銆?/p> <h2>Win32 Debug錛?/h2> <blockquote> <h3>C/C++ General:</h3> <blockquote> <p><strong>Preprocessor definitions:</strong> WIN32,_DEBUG,__WXMSW__,__WXDEBUG__,_MBCS,_WINDOWS,NOPCH</p> </blockquote> <h3>C/C++ Code Generation:</h3> <blockquote> <p><strong>Use run-time library:</strong> Debug Multithreaded DLL</p> </blockquote> <h3>Link General:</h3> <blockquote> <p><strong>Object/library modules:</strong> wxmsw26d_xrc.lib wxmsw26d_html.lib wxmsw26d_adv.lib wxmsw26d_core.lib wxbase26d_xml.lib wxbase26d.lib wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexd.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib </p> </blockquote></blockquote> <h2>Win32 Release錛?/h2> <blockquote> <h3>C/C++ General:</h3> <blockquote> <p><strong>Preprocessor definitions:</strong> WIN32,NDEBUG,__WXMSW__,_MBCS,_WINDOWS,NOPCH</p> </blockquote> <h3>C/C++ Code Generation:</h3> <blockquote> <p><strong>Use run-time library:</strong> Multithreaded DLL</p> </blockquote> <h3>Link General:</h3> <blockquote> <p><strong>Object/library modules:</strong> wxmsw26_xrc.lib wxmsw26_html.lib wxmsw26_adv.lib wxmsw26_core.lib wxbase26_xml.lib wxbase26.lib wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregex.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib </p> </blockquote></blockquote> <p>榪涜浠ヤ笅鎿嶄綔涔嬪墠錛岃鍏堥氳繃鑿滃崟 Build -> Configurations... 澧炲姞涓や釜緙栬瘧閰嶇疆"Win32 Unicode Debug"鍜?Win32 Unicode Release"錛堝垎鍒鍒朵簬"Win32 Debug"鍜?Win32 Release"錛夈?/p> <h2>Win32 Unicode Debug錛?/h2> <blockquote> <h3>C/C++ General:</h3> <blockquote> <p><strong>Preprocessor definitions:</strong> WIN32,_DEBUG,__WXMSW__,__WXDEBUG__,_UNICODE,_WINDOWS,NOPCH</p> </blockquote> <h3>C/C++ Code Generation:</h3> <blockquote> <p><strong>Use run-time library:</strong> Debug Multithreaded DLL</p> </blockquote> <h3>Link General:</h3> <blockquote> <p><strong>Object/library modules:</strong> wxmsw26ud_xrc.lib wxmsw26ud_html.lib wxmsw26ud_adv.lib wxmsw26ud_core.lib wxbase26ud_xml.lib wxbase26ud.lib wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexud.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib </p> </blockquote></blockquote> <h2>Win32 Unicode Release錛?/h2> <blockquote> <h3>C/C++ General:</h3> <blockquote> <p><strong>Preprocessor definitions:</strong> WIN32,NDEBUG,__WXMSW__,_UNICODE,_WINDOWS,NOPCH</p> </blockquote> <h3>C/C++ Code Generation:</h3> <blockquote> <p><strong>Use run-time library:</strong> Multithreaded DLL</p> </blockquote> <h3>Link General:</h3> <blockquote> <p><strong>Object/library modules:</strong> wxmsw26u_xrc.lib wxmsw26u_html.lib wxmsw26u_adv.lib wxmsw26u_core.lib wxbase26u_xml.lib wxbase26u.lib wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregexu.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib </p> </blockquote></blockquote> <p>銆</p> <h1>璁劇疆wxWidgets鐩綍</h1> <p>鍦ㄥ墠闈㈢殑璁劇疆涓紝鎸囧畾浜唚xWidgets鐨勫簱鏂囦歡錛?.lib錛夛紝浣哣C鍙兘騫朵笉鐭ラ亾鍒板摢涓洰褰曞幓瀵繪壘榪欎簺鏂囦歡銆傚悓鏃訛紝鎴戜滑鐨勬簮浠g爜涓篃瑕佸寘鍚? 錛坕nclude錛墂xWidgets鐨勫ご鏂囦歡錛屽叾澶存枃浠舵墍鍦ㄧ洰褰曚篃闇瑕佹寚瀹氥傚彟澶栵紝涓轟簡鏇村ソ鐨勮皟璇晈x紼嬪簭錛屾渶濂芥妸wxWidgets鐨勬簮浠g爜鎵鍦ㄧ洰褰? 涔熻緗ソ銆?/p> <p>鐐瑰嚮鑿滃崟 Tools -> Options...錛岃繘鍏?Directories 欏碉紝鍒嗗埆鍔犲叆浠ヤ笅璺緞錛堜笅闈㈢殑<wx>琛ㄧずwxWidgets瀹夎鐩綍錛?/p> <blockquote> <p>Include files:</p> <blockquote> <p><wx>\include</p> <p><wx>\include\msvc</p> </blockquote> <p>Library files:</p> <blockquote> <p><wx>\lib\vc_lib</p> </blockquote> <p>Source files:</p> <blockquote> <p><wx>\src</p> </blockquote></blockquote> <p>榪欎竴璁劇疆鏄拡瀵筕C鍏ㄥ眬鐨勶紝浠ュ悗鍐嶇敤VC鍒涘緩wxWigets紼嬪簭錛屽氨涓嶇敤璁劇疆榪欎簺璺緞浜嗐?/p> <p>銆</p> <h1>鍒涘緩wxWidgets棰勭紪璇戝ご鏂囦歡</h1> <p>鍚勪釜緙栬瘧鍣ㄤ笉鍚岋紝鏈夌殑鏀寔棰勭紪璇戝ご鏂囦歡錛屾湁鐨勪笉鏀寔錛屾敮鎸侀緙栬瘧澶存枃浠剁殑錛屼嬌鐢ㄧ殑璇硶涔熸湁鎵涓嶅悓錛屽鏋滃湪姣忎釜婧愭枃浠朵腑閮介噸澶嶇殑鍐欐湭鍏嶄笉鐖斤紝榪樻槸闆嗕腑鍒頒竴涓ご鏂囦歡涓潵姣旇緝濂姐備絾鏄敞鎰忥紝鏈変簡姝ゆ枃浠跺茍涓嶅喅瀹氭垨闄愬埗浣犱嬌鐢ㄨ繕鏄笉浣跨敤棰勭紪璇戝ご鏂囦歡錛岀敤涓嶇敤浠ュ強鎬庝箞鐢ㄨ繕鏄湪浣犮?/p> <p>鐐瑰嚮鑿滃崟 File -> New...錛屾柊寤轟竴涓狢/C++澶存枃浠?wx_pch.h錛屽叾鍐呭濡備笅錛?/p> <table bgcolor="#c0c0c0" border="1" cellpadding="2" cellspacing="0" width="100%"> <tbody> <tr> <td width="100%"><font color="#0000ff">#ifndef </font><font color="#a000a0">WX_PCH_H_INCLUDED<br></font><font color="#0000ff">#define </font><font color="#a000a0">WX_PCH_H_INCLUDED<br><br></font><font color="#0000ff">#if </font><font color="#000080">( </font>defined<font color="#000080">(</font>USE_PCH<font color="#000080">) && !</font>defined<font color="#000080">(</font><font color="#a000a0">WX_PRECOMP</font><font color="#000080"> ) )<br></font><font color="#0000ff">#define </font><font color="#a000a0">WX_PRECOMP<br></font><font color="#0000ff">#endif </font><font color="#008000">// USE_PCH<br><br>// basic wxWidgets headers<br></font><font color="#0000ff">#include </font><font color="#000080"><</font>wx/wxprec<font color="#000080">.</font>h<font color="#000080">><br><br></font><font color="#008000">// for use xrc files<br></font><font color="#0000ff">#include </font><font color="#000080"><</font>wx/xrc/xmlres<font color="#000080">.</font>h<font color="#000080">><br><br></font><font color="#0000ff">#ifdef </font>__BORLANDC__<br><font color="#0000ff">#pragma </font>hdrstop<br><font color="#0000ff">#endif<br><br>#ifndef </font><font color="#a000a0">WX_PRECOMP<br></font><font color="#0000ff">#include </font><font color="#000080"><</font>wx/wx<font color="#000080">.</font>h<font color="#000080">><br></font><font color="#0000ff">#endif<br><br>#ifdef </font>USE_PCH<br><font color="#008000">// put here all your rarely-changing header files<br><br></font><font color="#0000ff">#endif </font><font color="#008000">// USE_PCH<br><br></font><font color="#0000ff">#endif </font><font color="#008000">// WX_PCH_H_INCLUDED</font></td> </tr> </tbody> </table> <p>wxWidgets瀹樻柟鏂囨。鏄ぇ姒備篃鏄繖鏍鋒帹鑽愶紝Code::Blocks涓熀鏈笂灝辨槸榪欐牱瀛愶紝鎴戝彧鏄畝鍗曠殑澧炲姞浜嗕竴琛?#include <wx/xrc/xmlres.h>"錛堜負浜嗕嬌鐢╔RC鏂囦歡錛夈?/p> <p>浠ュ悗錛屽伐紼嬩腑鐨勬簮鏂囦歡錛屽彧瑕佸寘鍚紙include錛?wx_pch.h 鏂囦歡灝卞彲浠ヤ簡銆?/p> <p>銆</p> <h1>鍒涘緩wxApp瀛愮被</h1> <p>鐐瑰嚮鑿滃崟 Insert -> New Class...錛屾柊寤轟竴涓悕縐頒負"App"鐨勭被錛堢被鍚嶇О鍙互闅忔剰錛夛紝鑰冭檻鍒頒唬鐮佺殑璺ㄥ鉤鍙版э紝寤鴻灝嗗叾鎵鍦ㄦ枃浠剁殑鍚嶇О淇敼涓哄叏閮ㄤ嬌鐢ㄥ皬鍐欏瓧姣嶏紙濡? app.h/app.cpp錛夈傛鎿嶄綔灝嗙敓鎴愭枃浠?app.h 鍜?app.cpp銆?/p> <p>VC鍦ㄨ繖閲岀敓鎴愮殑綾諱唬鐮佹樉鐒舵槸涓嶆弧瓚蟲垜浠殑瑕佹眰鐨勶紝闇瑕佽繘琛屼互涓嬩慨鏀癸細</p> <p>app.h</p> <blockquote> <p>澧炲姞棰勭紪璇戝ご鏂囦歡 wx_pch.h 鐨勫寘鍚紙浠ュ悗鍒涘緩鐨勬瘡涓?h鏂囦歡閮借鍖呭惈瀹冿級錛?font color="#0000ff">#include </font><font color="#008080">"wx_pch.h"</font></p> <p>鎸囧畾App綾葷殑鐖剁被涓簑xApp錛氬嵆灝?<font color="#0000ff">class</font><font color="#000080"> </font><font color="#0000ff">App</font>"淇敼涓?<font color="#0000ff">class</font><font color="#000080"> </font><font color="#0000ff">App</font><font color="#000080"> : </font><font color="#0000ff">public</font><font color="#000080"> </font><font color="#0000ff">wxApp</font>"</p> <p>涓虹被澧炲姞铏氭柟娉昈nInit()鐨勫0鏄庯細<font color="#0000ff">virtual</font><font color="#000080"> </font><font color="#0000ff">bool</font><font color="#000080"> </font><font color="#880000">OnInit</font><font color="#000080">();</font></p> <p>鍦ㄧ被澹版槑鐨勪笅鏂瑰鍔?wxWidgets App 澹版槑錛?font color="#a000a0">DECLARE_APP</font><font color="#000080">(</font><font color="#0000ff">App</font><font color="#000080">)</font></p> <p>鏈緇?app.h 鐨勫唴瀹瑰涓嬶紙鍏朵腑緇忚繃鎵嬪伐鏀瑰啓鐨勫湴鏂瑰凡鐢?span style="background-color: #ffff00;" twffan="done">榛勮壊鑳屾櫙</span>紿佸嚭鏄劇ず錛夛細</p> <table bgcolor="#c0c0c0" border="1" cellpadding="2" cellspacing="0" width="100%"> <tbody> <tr> <td width="100%"><font color="#0000ff"><font color="#008000">// by: <a ><font color="#366217">liigo.com</font></a></font><br><br>#if </font><font color="#000080">!</font>defined<font color="#000080">(</font><font color="#a000a0"> AFX_APP_H__B4514AF3_2125_487B_BD66_AF638A80E73A__INCLUDED_</font><font color="#000080">)<br></font><font color="#0000ff">#define </font><font color="#a000a0">AFX_APP_H__B4514AF3_2125_487B_BD66_AF638A80E73A__INCLUDED_<br><br></font><font color="#0000ff">#if _MSC_VER</font><font color="#000080"> > </font><font color="#800000">1000<br></font><font color="#0000ff">#pragma </font>once<br><font color="#0000ff">#endif </font><font color="#008000">// _MSC_VER > 1000<br><br></font><span style="background-color: #ffff00;" twffan="done"><font color="#0000ff">#include </font></span><font color="#008080"><span style="background-color: #ffff00;" twffan="done">"wx_pch.h"</span><br><br></font><font color="#0000ff">class</font><font color="#000080"> </font><font color="#0000ff">App</font><font color="#000080"> <span style="background-color: #ffff00;" twffan="done">: </span></font><span style="background-color: #ffff00;" twffan="done"><font color="#0000ff">public</font><font color="#000080"> </font></span><font color="#0000ff"><span style="background-color: #ffff00;" twffan="done">wxApp</span><br></font><font color="#000080">{<br></font><font color="#0000ff">public</font><font color="#000080"> :<br>    </font><font color="#0000ff">App</font><font color="#000080">();<br>    </font><font color="#0000ff">virtual</font><font color="#000080"> ~</font><font color="#0000ff">App</font><font color="#000080">();<br>    </font><span style="background-color: #ffff00;" twffan="done"><font color="#0000ff">virtual</font><font color="#000080"> </font><font color="#0000ff">bool</font><font color="#000080"> </font><font color="#880000">OnInit</font></span><font color="#000080"> <span style="background-color: #ffff00;" twffan="done">();</span><br>};<br><br></font><span style="background-color: #ffff00;" twffan="done"><font color="#a000a0">DECLARE_APP</font><font color="#000080">(</font><font color="#0000ff">App</font></span><font color="#000080"> <span style="background-color: #ffff00;" twffan="done">)</span><br><br></font><font color="#0000ff">#endif </font><font color="#008000">// !defined(AFX_APP_H__B4514AF3_2125_487B_BD66_AF638A80E73A__INCLUDED_)</font></td> </tr> </tbody> </table> </blockquote> <p>app.cpp</p> <blockquote> <p>澧炲姞澶存枃浠跺寘鍚紙姝ゅご鏂囦歡灝嗗湪涓嬮潰鍒涘緩MainFrame綾繪椂鍒涘緩錛夛細<font color="#0000ff">#include </font><font color="#008080">"mainframe.h"</font></p> <p>澧炲姞 OnInit() 鏂規硶鐨勫畾涔夛紙鍏朵腑鐢ㄥ埌鐨凪ainFrame綾誨畾涔変簬mainframe.h錛岃鍚庢枃錛夛細</p> <table border="1" cellpadding="2" cellspacing="0" width="100%"> <tbody> <tr> <td width="100%"><font color="#0000ff">bool</font><font color="#000080"> </font><font color="#0000ff">App</font><font color="#000080">::</font><font color="#880000">OnInit</font><font color="#000080">()<br>{<br>    <font color="#0000ff">MainFrame</font>* mainFrame = <font color="#0000ff">new</font> <font color="#0000ff">MainFrame</font>(<font color="#a000a0">NULL</font>, <font color="#a000a0">_</font>(<font color="#008080">"MainFrame</font></font><font color="#008080"> </font><font color="#000080"><font color="#008080">by<font color="#000080"> </font>liigo<font color="#000080">.</font>com"</font>));<br>    </font>mainFrame<font color="#000080">-></font><font color="#880000">Show </font><font color="#000080">();<br>    </font><font color="#880000">SetTopWindow</font><font color="#000080">(</font>mainFrame<font color="#000080">);<br>    </font><font color="#0000ff">return</font><font color="#000080"> </font><font color="#0000ff">true</font><font color="#000080">;<br>}</font></td> </tr> </tbody> </table> <p>鍦ㄧ被瀹氫箟鐨勪笂鏂瑰鍔?wxWidgets App 瀹氫箟錛?font color="#a000a0">IMPLEMENT_APP</font><font color="#000080">(</font><font color="#0000ff">App</font><font color="#000080">)</font></p> <p>鏈緇?app.cpp 鐨勫唴瀹瑰涓嬶紙鍏朵腑緇忚繃鎵嬪伐鏀瑰啓鐨勫湴鏂瑰凡鐢?span style="background-color: #ffff00;" twffan="done">榛勮壊鑳屾櫙</span>紿佸嚭鏄劇ず錛夛細</p> <table bgcolor="#c0c0c0" border="1" cellpadding="2" cellspacing="0" width="100%"> <tbody> <tr> <td width="100%"><font color="#0000ff">#include </font><font color="#008080">"app.h"<br><br></font><font color="#a000a0"><span style="background-color: #ffff00;" twffan="done">IMPLEMENT_APP</span></font><span style="background-color: #ffff00;" twffan="done"> <font color="#000080">(</font><font color="#0000ff">App</font></span><font color="#000080"><span style="background-color: #ffff00;" twffan="done">)</span><br><br></font><font color="#0000ff">App</font><font color="#000080">::</font><font color="#0000ff"> App</font><font color="#000080">()<br>{<br>}<br><br></font><font color="#0000ff">App</font><font color="#000080">::~</font><font color="#0000ff">App</font><font color="#000080">()<br>{<br>}<br><br></font><span style="background-color: #ffff00;" twffan="done"><font color="#0000ff">bool</font><font color="#000080"> </font><font color="#0000ff">App</font><font color="#000080">::</font><font color="#880000">OnInit</font><font color="#000080">()<br>{<br>    </font><font color="#000080"><font color="#0000ff">MainFrame</font>* mainFrame = <font color="#0000ff">new</font> <font color="#0000ff">MainFrame</font>(<font color="#a000a0">NULL</font>, <font color="#a000a0">_</font>(<font color="#008080">"MainFrame </font></font><font color="#008080">by <a ><font color="#366217">liigo.com</font></a></font><font color="#000080"><font color="#008080">"</font>));<br>    </font>mainFrame<font color="#000080">-></font><font color="#880000"> Show</font><font color="#000080">();<br>    </font><font color="#880000">SetTopWindow</font><font color="#000080">(</font>mainFrame<font color="#000080">);<br>    </font><font color="#0000ff">return</font><font color="#000080"> </font><font color="#0000ff">true</font><font color="#000080">;<br>}</font></span></td> </tr> </tbody> </table> </blockquote> <p>銆</p> <h1>鍒涘緩wxFrame瀛愮被</h1> <p>鐐瑰嚮鑿滃崟 Insert -> New Class...錛屾柊寤轟竴涓悕縐頒負"MainFrame"鐨勭被錛堢被鍚嶇О鍙互闅忔剰錛夛紝鑰冭檻鍒頒唬鐮佺殑璺ㄥ鉤鍙版э紝寤鴻灝嗗叾鎵鍦ㄦ枃浠剁殑鍚嶇О淇敼涓哄叏閮ㄤ嬌鐢ㄥ皬鍐欏瓧姣? 錛堝 mainframe.h/mainframe.cpp錛夈傛鎿嶄綔灝嗙敓鎴愭枃浠?mainframe.h 鍜?mainframe.cpp銆?</p> <p>涓嬮潰瀵筕C鐢熸垚鐨勭被浠g爜榪涜鐩稿簲鐨勪慨鏀癸細</p> <p>mainframe.h</p> <blockquote> <p>澧炲姞棰勭紪璇戝ご鏂囦歡鐨勫寘鍚細<font color="#0000ff">#include </font><font color="#008080">"wx_pch.h"</font></p> <p>鎸囧畾MainFrane綾葷殑鐖剁被涓簑xFrame錛?font color="#0000ff">class</font><font color="#000080"> </font><font color="#0000ff">MainFrame</font><font color="#000080"> : </font><font color="#0000ff">public</font><font color="#000080"> </font><font color="#0000ff">wxFrame</font></p> <p>淇敼鏋勯犲嚱鏁扮殑澹版槑錛?font color="#0000ff">MainFrame</font><font color="#000080">(</font><font color="#0000ff">wxWindow</font><font color="#000080">* </font>parent<font color="#000080">, </font><font color="#0000ff">const</font> <font color="#0000ff">wxString</font><font color="#000080">& </font>title<font color="#000080">);</font></p> <p>鍦ㄧ被瀹氫箟鐨勬湯灝懼鍔犱簨浠惰〃澹版槑錛?font color="#a000a0">DECLARE_EVENT_TABLE</font><font color="#000080">()</font></p> <p>鏈緇?mainframe.h 鐨勫唴瀹瑰涓嬶紙鍏朵腑緇忚繃鎵嬪伐鏀瑰啓鐨勫湴鏂瑰凡鐢?span style="background-color: #ffff00;" twffan="done">榛勮壊鑳屾櫙</span>紿佸嚭鏄劇ず錛夛細</p> <table bgcolor="#c0c0c0" border="1" cellpadding="2" cellspacing="0" width="100%"> <tbody> <tr> <td width="100%"><font color="#0000ff">#if </font><font color="#000080">!</font>defined<font color="#000080">(</font><font color="#a000a0">AFX_MAINFRAME_H__1BC90331_B69E_40F2_BDF7_197550D70F07__INCLUDED_</font><font color="#000080"> )<br></font><font color="#0000ff">#define </font><font color="#a000a0">AFX_MAINFRAME_H__1BC90331_B69E_40F2_BDF7_197550D70F07__INCLUDED_<br><br></font><font color="#0000ff">#if _MSC_VER</font><font color="#000080"> > </font><font color="#800000">1000<br></font><font color="#0000ff">#pragma </font>once<br><font color="#0000ff">#endif </font><font color="#008000">// _MSC_VER > 1000<br><br></font><span style="background-color: #ffff00;" twffan="done"><font color="#0000ff">#include </font></span><font color="#008080"><span style="background-color: #ffff00;" twffan="done">"wx_pch.h"</span><br><br></font><font color="#0000ff">class</font><font color="#000080"> </font><font color="#0000ff">MainFrame </font><font color="#000080"><span style="background-color: #ffff00;" twffan="done">: </span></font><span style="background-color: #ffff00;" twffan="done"><font color="#0000ff">public</font><font color="#000080"> </font></span><font color="#0000ff"><span style="background-color: #ffff00;" twffan="done">wxFrame</span><br></font><font color="#000080">{<br></font><font color="#0000ff">public</font><font color="#000080">:<br>    </font><font color="#0000ff">MainFrame</font><font color="#000080">(</font><span style="background-color: #ffff00;" twffan="done"> <font color="#0000ff">wxWindow</font><font color="#000080">* </font>parent<font color="#000080">, </font><font color="#0000ff">const</font><font color="#000080"> </font><font color="#0000ff">wxString</font><font color="#000080"> & </font>title</span><font color="#000080">);<br>    </font><font color="#0000ff">virtual</font><font color="#000080"> ~</font><font color="#0000ff">MainFrame</font><font color="#000080">();<br><br>    </font><span style="background-color: #ffff00;" twffan="done"><font color="#a000a0">DECLARE_EVENT_TABLE</font></span><font color="#000080"><span style="background-color: #ffff00;" twffan="done">()</span><br>};<br></font><font color="#0000ff">#endif </font><font color="#008000">// !defined(AFX_MAINFRAME_H__1BC90331_B69E_40F2_BDF7_197550D70F07__INCLUDED_) </font></td> </tr> </tbody> </table> </blockquote> <p>mainframe.cpp</p> <blockquote> <p>淇敼鏋勯犲嚱鏁扮殑瀹氫箟錛?/p> <table border="1" cellpadding="2" cellspacing="0" width="100%"> <tbody> <tr> <td width="100%"><font color="#0000ff">MainFrame</font><font color="#000080">::</font><font color="#0000ff">MainFrame</font><font color="#000080">(</font><font color="#0000ff">wxWindow</font><font color="#000080">* </font>parent<font color="#000080">, </font><font color="#0000ff">const</font><font color="#000080"> </font><font color="#0000ff">wxString</font><font color="#000080">& </font>title<font color="#000080">) : </font><font color="#0000ff">wxFrame</font><font color="#000080">(</font>parent<font color="#000080">, </font>wxID_ANY<font color="#000080">, </font>title<font color="#000080">)<br>{<br>    </font><font color="#008000">//wxTextCtrl* text = new wxTextCtrl(this, wxID_ANY, _("some text")); <br></font><font color="#000080">}</font></td> </tr> </tbody> </table> <p>澧炲姞浜嬩歡琛ㄥ畾涔夛紙BEGIN_EVENT_TABLE 涓?END_EVENT_TABLE 涔嬮棿淇濈暀絀虹櫧錛岀暀寰呬互鍚庣粦瀹氫簨浠訛級錛?/p> <table border="1" cellpadding="2" cellspacing="0" width="100%"> <tbody> <tr> <td width="100%"><font color="#a000a0">BEGIN_EVENT_TABLE<font color="#000080">(</font><font color="#0000ff">MainFrame</font><font color="#000080">, </font><font color="#0000ff">wxFrame</font><font color="#000080">)<br><br></font>END_EVENT_TABLE<font color="#000080">()</font></font></td> </tr> </tbody> </table> <p>鏈緇?mainframe.cpp 鐨勫唴瀹瑰涓嬶紙鍏朵腑緇忚繃鎵嬪伐鏀瑰啓鐨勫湴鏂瑰凡鐢?span style="background-color: #ffff00;" twffan="done">榛勮壊鑳屾櫙</span>紿佸嚭鏄劇ず錛夛細</p> <table bgcolor="#c0c0c0" border="1" cellpadding="2" cellspacing="0" width="100%"> <tbody> <tr> <td width="100%"><font color="#0000ff">#include </font><font color="#008080">"mainframe.h"<br><br></font><span style="background-color: #ffff00;" twffan="done"><font color="#a000a0">BEGIN_EVENT_TABLE</font><font color="#000080"> (</font><font color="#0000ff">MainFrame</font><font color="#000080">, </font><font color="#0000ff">wxFrame</font><font color="#000080">)<br><br></font><font color="#a000a0">END_EVENT_TABLE</font><font color="#000080">()</font> </span><font color="#a000a0"><span style="background-color: #ffff00;" twffan="done"><br></span><br></font><font color="#0000ff">MainFrame</font><font color="#000080">::</font><font color="#0000ff">MainFrame</font><font color="#000080">( </font><span style="background-color: #ffff00;" twffan="done"><font color="#0000ff">wxWindow</font><font color="#000080">* </font>parent<font color="#000080">, </font><font color="#0000ff">const</font><font color="#000080"> </font><font color="#0000ff">wxString</font><font color="#000080">& </font>title</span><font color="#000080">) <span style="background-color: #ffff00;" twffan="done">: </span></font><span style="background-color: #ffff00;" twffan="done"><font color="#0000ff">wxFrame</font><font color="#000080"> (</font>parent<font color="#000080">, </font>wxID_ANY<font color="#000080">, </font>title</span><font color="#000080"><span style="background-color: #ffff00;" twffan="done">)</span><br>{<br></font><font color="#000080">    </font><font color="#008000"><span style="background-color: #ffff00;" twffan="done">//wxTextCtrl* text = new wxTextCtrl(this, wxID_ANY, _("some text"));</span><br></font><font color="#000080">}<br><br></font><font color="#0000ff">MainFrame</font><font color="#000080"> ::~</font><font color="#0000ff">MainFrame</font><font color="#000080">()<br>{<br>}</font></td> </tr> </tbody> </table> </blockquote> <p>銆</p> <p>鑷蟲錛屼竴涓獁xWidget鐨勭┖鐧絇roject宸茬粡鍒涘緩瀹屾瘯</p> <p><br></p> <p>緙栬瘧鐢熸垚鐨?exe 鏂囦歡鐨勫ぇ灝忥細</p> <table border="1" cellpadding="2" cellspacing="0" width="53%"> <tbody> <tr> <td width="32%">鍙墽琛屾枃浠跺ぇ灝?/td> <td width="35%">Debug</td> <td width="46%">Release</td> </tr> <tr> <td width="32%">Unicode</td> <td width="35%">3.78M</td> <td width="46%">956K</td> </tr> <tr> <td width="32%">闈濽nicode</td> <td width="35%">3.60M</td> <td width="46%">932K</td> </tr> </tbody> </table> <p>姝ゆ暟鎹叏閮ㄦ槸闈欐侀摼鎺xWidgets鐨勭粨鏋溿傚姩鎬侀摼鎺ョ殑璇濓紝EXE鐨勫ぇ灝忔病鏈夋剰涔夆斺斿埆蹇樹簡wxWidgets鐨勭増DLLs鐨勫ぇ灝忔誨叡綰?鍒?M錛圧elease鐗堬級銆?/p> <p> </p> <h1>娣誨姞瀛愭帶浠?/h1> <p>鍚?wxFrame 鎴?wxDialog 涓坊鍔犲瓙鎺т歡鏄瘮杈冨鏄撶殑錛屽彧闇鍦ㄥ叾瀛愮被鐨勬瀯閫犲嚱鏁頒腑 new 鐩稿簲鐨勫瓙鎺т歡灝卞彲浠ヤ簡銆?/p> <p>榪欐槸鏈綆鍗曠殑鎯呭喌錛?/p> <table border="1" cellpadding="2" cellspacing="0" width="100%"> <tbody> <tr> <td width="100%"><font color="#0000ff">MainFrame</font><font color="#000080">::</font><font color="#0000ff">MainFrame</font><font color="#000080">(</font><font color="#0000ff">wxWindow</font><font color="#000080">* </font>parent<font color="#000080">, </font><font color="#0000ff">const</font><font color="#000080"> </font><font color="#0000ff">wxString</font><font color="#000080">& </font>title<font color="#000080">) : </font><font color="#0000ff">wxFrame</font><font color="#000080">(</font>parent<font color="#000080">, </font>wxID_ANY<font color="#000080">, </font>title<font color="#000080">)<br>{<br>    </font><font color="#000080"><font color="#0000ff">wxTextCtrl </font><font color="#000080">* </font>text<font color="#000080"> = </font><font color="#0000ff">new</font><font color="#000080"> </font><font color="#0000ff">wxTextCtrl</font><font color="#000080">(</font><font color="#0000ff"> this</font><font color="#000080">, </font>wxID_ANY<font color="#000080">, </font><font color="#a000a0">_</font><font color="#000080">(</font><font color="#008080">"some text"</font><font color="#000080">));<br></font></font><font color="#000080">}</font></td> </tr> </tbody> </table> <p>娌¢敊錛屽彧瑕?new"涓涓嬪氨鎼炲畾浜嗭紝鎺т歡浼氳嚜鍔ㄥ嚭鐜板湪wxFrame涓傝繖鏄繍琛岀粨鏋滐細</p> <p><br></p> <p>濡傛灉鐣岄潰鍐嶅鏉備竴浜涳紝涓婇潰榪欑鏂規硶灝辮涓嶉氫簡錛屾垜浠渶瑕佸紩鍏?Sizer"錛堣瑙?a ><font color="#366217">http://www.wxwidgets.org/manuals/2.6.3/wx_sizeroverview.html</font></a>錛圫izer涓瑙堬級錛夛細</p> <table border="1" cellpadding="2" cellspacing="0" width="100%"> <tbody> <tr> <td width="100%"><font color="#0000ff">MainFrame</font><font color="#000080">::</font><font color="#0000ff">MainFrame</font><font color="#000080">(</font><font color="#0000ff">wxWindow</font><font color="#000080">* </font>parent<font color="#000080">, </font><font color="#0000ff">const</font><font color="#000080"> </font><font color="#0000ff">wxString</font><font color="#000080">& </font>title<font color="#000080">) : </font><font color="#0000ff">wxFrame</font><font color="#000080">(</font>parent<font color="#000080">, </font>wxID_ANY<font color="#000080">, </font>title<font color="#000080">)<br>{<br></font><font color="#000080">    </font><font color="#0000ff">wxTextCtrl </font><font color="#000080">* </font>textCtrl<font color="#000080"> = </font><font color="#0000ff">new</font><font color="#000080"> </font><font color="#0000ff">wxTextCtrl</font><font color="#000080">(</font><font color="#0000ff"> this</font><font color="#000080">, </font>ID_TEXTCTRL<font color="#000080">, </font><font color="#a000a0">_T</font><font color="#000080">(</font><font color="#008080">"some text"</font><font color="#000080">), </font>wxDefaultPosition<font color="#000080">, </font>wxDefaultSize<font color="#000080">, </font><font color="#a000a0">wxTE_MULTILINE</font><font color="#000080"> );<br>    </font><font color="#0000ff">wxButton</font><font color="#000080"> * </font>button<font color="#000080"> = </font><font color="#0000ff">new</font><font color="#000080"> </font><font color="#0000ff">wxButton</font><font color="#000080">(</font><font color="#0000ff">this</font><font color="#000080"> , </font>ID_BUTTON<font color="#000080">, </font><font color="#a000a0">_</font><font color="#000080">(</font><font color="#008080">"嫻嬭瘯鎸夐挳"</font><font color="#000080">), </font>wxDefaultPosition<font color="#000080"> , </font>wxDefaultSize<font color="#000080">, </font><font color="#800000">0</font><font color="#000080"> );<br><br>    </font><font color="#0000ff">wxBoxSizer</font><font color="#000080">* </font>vBoxSizer<font color="#000080"> = </font><font color="#0000ff">new</font><font color="#000080"> </font><font color="#0000ff">wxBoxSizer</font><font color="#000080">(</font>wxVERTICAL<font color="#000080">);<br>    </font><font color="#0000ff">this</font> <font color="#000080">-></font><font color="#880000">SetSizer</font><font color="#000080">(</font>vBoxSizer<font color="#000080">);<br><br>    </font>vBoxSizer<font color="#000080">-></font><font color="#880000">Add </font><font color="#000080">(</font>textCtrl<font color="#000080">, </font><font color="#800000">1</font><font color="#000080">, </font>wxALL<font color="#000080">|</font>wxEXPAND<font color="#000080">, </font><font color="#800000">5</font><font color="#000080">);<br>    </font>vBoxSizer<font color="#000080">-></font><font color="#880000">Add</font><font color="#000080">(</font>button<font color="#000080">, </font><font color="#800000">0</font><font color="#000080"> , </font>wxALIGN_CENTER_HORIZONTAL<font color="#000080">|</font>wxALL<font color="#000080">|</font>wxALIGN_BOTTOM<font color="#000080">, </font><font color="#800000">5</font><font color="#000080">);</font><font color="#000080"> <br></font><font color="#000080">}</font></td> </tr> </tbody> </table> <p>涓婇潰鏄琛岀紪杈戞鎺т歡錛屼笅闈㈡槸鎸夐挳鎺т歡錛屽綋紿楀彛澶у皬鍙樺寲鏃訛紝緙栬緫妗嗘帶浠跺皢鍦ㄦ按騫沖拰鍨傜洿鏂瑰悜涓婅嚜鍔ㄦ墿灞曪紝鑰屾寜閽緇堜綅浜庣獥鍙e簳閮ㄥ眳涓?/p> <p><br></p> <p>涓婅堪浠g爜涓秹鍙婄殑鎺т歡ID錛圛D_TEXTCTRL錛孖D_BUTTON錛夋槸鎴戜滑鍦?mainframe.cpp 涓嚜琛屽畾涔夌殑錛堝畾涔夋帶浠禝D鐨勭洰鐨勬槸涓轟簡涓嬩竴姝ヤ簡浜嬩歡澶勭悊錛夛細</p> <table border="1" cellpadding="2" cellspacing="0" width="100%"> <tbody> <tr> <td width="100%"><font color="#0000ff">enum</font><font color="#000080"> </font>CtrlID<br><font color="#000080">{<br>    </font>ID_TEXTCTRL<font color="#000080">, </font>ID_BUTTON<br><font color="#000080">};</font></td> </tr> </tbody> </table> <p> </p> <p>鍙傝冩枃妗o細<a ><font color="#366217">http://www.wxwidgets.org/manuals/2.6.3/wx_sizeroverview.html</font></a>錛圫izer涓瑙堬級</p> <p>閲囩敤XML鏍煎紡鏂囦歡錛圶RC鏂囦歡錛夊畾涔夌▼搴忕晫闈篃鏄笉閿欑殑鏂瑰紡錛岃瑙侊細<a ><font color="#366217">http://www.wxwidgets.org/manuals/2.6.3/wx_xrcoverview.html</font></a>錛堝熀浜嶺ML鐨勮祫婧愮郴緇熶竴瑙堬級銆?/p> <p>鏃犺濡備綍錛屾墜宸ヨ繘琛岀晫闈㈠竷灞鎬繪槸寰堢箒鏉傦紝鎴戜滑闇瑕侊紙鍙鍖栵級宸ュ叿鐨勫府鍔╋細<a ><font color="#366217">http://www.wxwidgets.org/apps2.htm</font></a></p> <p>銆</p> <h1>澶勭悊浜嬩歡</h1> <p>鍦╳xWidgets涓鐞嗕簨浠訛紝涓昏鏈変袱涓楠わ細緙栧啓"浜嬩歡澶勭悊鍑芥暟錛堟柟娉曪級"錛屽~鍐?浜嬩歡琛紙EVENT_TABLE錛?銆?/p> <p>浜嬩歡澶勭悊鍑芥暟錛堟柟娉曪級瑙嗕簨浠剁殑涓嶅悓鑰屾湁鎵涓嶅悓錛屼絾涔熸湁瑙勫緥錛氭病鏈夎繑鍥炲鹼紝鍙湁涓涓紩鐢ㄥ瀷鍙傛暟錛堜笖涓瀹氭槸<a ><font color="#366217">wxEvent</font></a>鐨勫瓙綾伙級錛屼笉鏄櫄鏂規硶錛坴irtual method錛夈備簨浠跺鐞嗗嚱鏁幫紙鏂規硶錛夌殑鍚嶇О娌℃湁鐗規畩瑙勫畾錛屽彲浠ヨ嚜琛屽懡鍚嶃?/p> <p>浣滀負紺轟緥錛屾垜浠潵澶勭悊涓婂浘涓?嫻嬭瘯鎸夐挳"琚寜涓嬬殑浜嬩歡銆?/p> <p>鏍規嵁wxWidgets鏂囨。錛岃澶勭悊鎸夐挳浜嬩歡錛岄渶鍦ㄨ嚜宸辯殑綾諱腑娣誨姞濡備笅浜嬩歡澶勭悊鍑芥暟錛堟柟娉曪級錛?font color="#0000ff">void</font><font color="#000080"> </font><font color="#0000ff">MainFrame</font><font color="#000080">::</font><font color="#880000">OnButtonClick</font> <font color="#000080">(</font><font color="#0000ff">wxCommandEvent</font><font color="#000080"> &</font>event<font color="#000080">)</font></p> <p>鍏蜂綋璇存潵灝辨槸錛屽湪 mainframe.h 鏂囦歡涓殑 MainFrame 綾諱腑澧炲姞鏂扮殑 OnButtonClick() 鏂規硶澹版槑錛?/p> <table border="1" cellpadding="2" cellspacing="0" width="100%"> <tbody> <tr> <td width="100%"><font color="#0000ff">private</font><font color="#000080">:<br>    </font><font color="#0000ff">void</font><font color="#000080"> </font><font color="#880000">OnButtonClick</font><font color="#000080">(</font> <font color="#0000ff">wxCommandEvent</font><font color="#000080">& </font>event<font color="#000080">);</font></td> </tr> </tbody> </table> <p>騫跺湪 mainframe.cpp 鏂囦歡涓鍔?OnButtonClick() 鏂規硶鐨勫畾涔夛細</p> <table border="1" cellpadding="2" cellspacing="0" width="100%"> <tbody> <tr> <td width="100%"><font color="#0000ff">void</font><font color="#000080"> </font><font color="#0000ff">MainFrame</font><font color="#000080">::</font><font color="#880000">OnButtonClick</font><font color="#000080">(</font> <font color="#0000ff">wxCommandEvent</font><font color="#000080"> &</font>event<font color="#000080">)<br>{<br>    </font><font color="#008000">//鍙栫紪杈戞涓殑鏂囨湰騫剁敤淇℃伅妗嗘樉紺哄嚭鏉?br></font><font color="#000080">    </font><font color="#0000ff">wxString</font><font color="#000080"> </font>text<font color="#000080"> = ((</font><font color="#0000ff">wxTextCtrl</font><font color="#000080">*)</font><font color="#0000ff">this</font><font color="#000080">-></font><font color="#a000a0"> FindWindow</font><font color="#000080">(</font>ID_TEXTCTRL<font color="#000080">))-></font><font color="#880000">GetValue</font><font color="#000080">();<br>    </font><font color="#880000">wxMessageBox</font><font color="#000080"> (</font>text<font color="#000080">);<br>}</font></td> </tr> </tbody> </table> <p>涓嬮潰闇瑕佸湪 mainframe.cpp 涓~鍐?浜嬩歡琛紙EVENT_TABLE錛?錛屼互渚挎垜浠殑"浜嬩歡澶勭悊鍑芥暟錛堟柟娉曪級"鑳藉湪閫傚綋鐨勬椂鏈猴紙鍗充簨浠惰Е鍙戞椂錛夎璋冪敤錛?/p> <table border="1" cellpadding="2" cellspacing="0" width="100%"> <tbody> <tr> <td width="100%"><font color="#a000a0">BEGIN_EVENT_TABLE</font><font color="#000080">(</font><font color="#0000ff">MainFrame</font><font color="#000080">, </font><font color="#0000ff">wxFrame</font><font color="#000080"> )<br>    </font><span style="background-color: #ffff00;" twffan="done"><font color="#a000a0">EVT_BUTTON</font><font color="#000080">(</font>ID_BUTTON<font color="#000080">, </font><font color="#0000ff">MainFrame</font><font color="#000080"> ::</font>OnButtonClick</span><font color="#000080"><span style="background-color: #ffff00;" twffan="done">)</span><br></font><font color="#a000a0">END_EVENT_TABLE</font><font color="#000080">()</font></td> </tr> </tbody> </table> <p>鍦ㄨ繖涓簨浠惰〃涓紝鎴戜滑浣跨敤瀹?EVT_BUTTON 鎸囧畾浜嗘寜閽殑ID錛屼互鍙?浜嬩歡澶勭悊鍑芥暟錛堟柟娉曪級"銆?/p> <p>娉細涓婇潰涓鐩磋"浜嬩歡澶勭悊鍑芥暟錛堟柟娉曪級"錛屽叾瀹炴槸"鏂規硶錛坢ethod錛?涓嶆槸"鍑芥暟錛坒unction錛?錛屽彧鏄?鏂規硶"榪欎釜璇嶅湪緙栫▼棰嗗煙鍜屽湪鏃? 甯哥敓媧諱腑鍙互鏈変笉鍚岀殑鐞嗚В錛?鏂規硶"涔熷彲浠ョ悊瑙d負"鏂瑰紡"錛夛紝鎴戝鏋滆鎴?浜嬩歡澶勭悊鏂規硶"錛岄毦鍏嶄細浜х敓姝т箟銆傚綋鐒訛紝"浜嬩歡澶勭悊鍑芥暟錛堟柟娉曪級"浼間箮涔熷茍涓嶅崄 鍒嗗悎閫傦紝搴旂О涓?浜嬩歡澶勭悊'鏂規硶'"鎴?浜嬩歡澶勭悊鏂規硶錛坢ethod錛?錛熷啀娣辯┒涓嬪幓灝辨湁鍜枃鍤煎瓧鐨勫珜鐤戜簡錛岃仾鏄庣殑璇昏呮棭宸叉槑鐧芥垜鐨勬剰鎬濅簡鍚э紵</p> <br> <p><br></p> <p>銆</p> <p>濡備綍澶勭悊鍏跺畠浜嬩歡錛?/p> <p>璇寸櫧浜嗭紝鍏抽敭瑕佺煡閬撲袱鐐癸細浜嬩歡澶勭悊鍑芥暟錛堟柟娉曪級鐨勫弬鏁版槸浠涔堢被鍨嬶紝濉啓鍙傛暟琛ㄦ椂鐢ㄥ摢涓涓畯錛圗VT_*錛夈?/p> <p>鍐嶈ˉ鍏呬竴鐐癸細瑕佺煡閬?浠涔堟帶浠?鍦?浠涔堟椂鏈?浼氳Е鍙?浠涔堜簨浠?銆?/p> <p>瑕佺煡閬撹繖浜涳紝灝遍渶瑕佸wxWidgets鐨勪簨浠跺鐞嗘湁涓涓瘮杈冨叏闈㈢殑浜嗚В銆?/p> <p>寤鴻鐪嬩竴涓媤xWidgets瀹樻柟鏂囨。涓殑榪欑瘒鏂囩珷錛?a ><font color="#366217">http://www.wxwidgets.org/manuals/2.6.3/wx_eventhandlingoverview.html</font></a>錛堜簨浠跺鐞嗕竴瑙堬級</p> <p>灝ゅ叾鏄叾涓殑 <a ><font color="#366217">Event macros summary</font></a>錛堜簨浠跺畯姒傝錛変竴孌點?/p> <p>鐢靛瓙涔︺?a ><font color="#366217">Cross-Platform GUI Programming with wxWidgets</font></a>銆嬮檮褰?錛圓ppendix I, 617欏碉級涓浜嬩歡澶勭悊鏃舵墍娑夊強鐨勪簨浠剁被鍨嬶紙wxXXXEvent錛夊拰浜嬩歡瀹忥紙EVT_*錛夋湁姣旇緝濂界殑鎬葷粨錛屽緩璁湅涓涓嬶紝鏈濂芥墦鍗板嚭鏉ユ斁鍦ㄦ墜杈癸紝浠ヤ究闅忔椂鍙傝冦?</p> <p>鏈枃鎵娑夊強鐨勫畬鏁存簮浠g爜鍙湪姝や笅杞斤細<a ><font color="#366217">http://liigo.diy.myrice.com/article/wxProject/wxProject.zip</font></a></p> <p> </p> <h1>鏇磋繘涓姝?/h1> <p>浜嗚В Sizer錛岀啛鎮夌晫闈㈣璁★細<a ><font color="#366217">http://www.wxwidgets.org/manuals/2.6.3/wx_sizeroverview.html</font></a></p> <p>浜嗚В 浜嬩歡澶勭悊錛?a ><font color="#366217">http://www.wxwidgets.org/manuals/2.6.3/wx_eventhandlingoverview.html</font></a></p> <p>浜嗚В wxWidgets 鎻愪緵浜嗗摢浜涙帶浠訛紝瀹冧滑鍚勮嚜鐨勫睘鎬с佹柟娉曘佷簨浠訛紝浠ュ強瀹冧滑鐨勭敤娉曘?/p> <p>鍘?wxWidgets.org 涓婃壘絎笁鏂圭殑鎺т歡/搴擄細<a ><font color="#366217">http://www.wxwidgets.org/contrib2.htm#classes</font></a></p> <p>鍘?<a ><font color="#366217">wxWiki</font></a> 涓婃壘絎笁鏂圭殑鎺т歡/搴擄細<a ><font color="#366217">http://www.wxwidgets.org/wiki/index.php/Table_Of_Contents#Pages_about_classes.2C_functions_or_macros </font></a></p> <p>GUI搴撳槢錛熸棤闈炲氨鏄帶浠訛紙component錛夌殑浣跨敤錛氬竷灞銆佹搷浣溿佷簨浠跺鐞嗐?/p> <img src ="http://m.shnenglu.com/kenlistian/aggbug/65986.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/kenlistian/" target="_blank">kenlistian</a> 2008-11-05 00:55 <a href="http://m.shnenglu.com/kenlistian/archive/2008/11/05/65986.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>姹囨誨嚱鏁版寚閽堢悊瑙?/title><link>http://m.shnenglu.com/kenlistian/archive/2008/10/29/65485.html</link><dc:creator>kenlistian</dc:creator><author>kenlistian</author><pubDate>Wed, 29 Oct 2008 14:23:00 GMT</pubDate><guid>http://m.shnenglu.com/kenlistian/archive/2008/10/29/65485.html</guid><wfw:comment>http://m.shnenglu.com/kenlistian/comments/65485.html</wfw:comment><comments>http://m.shnenglu.com/kenlistian/archive/2008/10/29/65485.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://m.shnenglu.com/kenlistian/comments/commentRss/65485.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/kenlistian/services/trackbacks/65485.html</trackback:ping><description><![CDATA[<br>涓涓嚱鏁版寚閽堢殑鐞嗚В錛?br>銆鏈変竴孌電▼搴忓瓨鍌ㄥ湪璧峰鍦板潃涓?0鐨勪竴孌靛唴瀛樹笂錛屽鏋滄垜浠兂瑕佽皟鐢ㄨ繖孌電▼搴忥紝璇烽棶璇ュ浣曞幓鍋氾紵<br>銆絳旀鏄?(*(void (*)( ) )0)( )銆?br><br>銆棣栧厛錛屾渶鍩烘湰鐨勫嚱鏁板0鏄庯細 void function (paramList);<br>銆鏈鍩烘湰鐨勫嚱鏁拌皟鐢細 function(paramList);<br><br>銆銆閴翠簬闂涓殑鍑芥暟娌℃湁鍙傛暟錛屽嚱鏁拌皟鐢ㄥ彲綆鍖栦負 function();<br> 銆 鏍規嵁闂鎻忚堪錛屽彲浠ョ煡閬?0鏄繖涓嚱鏁扮殑鍏ュ彛鍦板潃錛屼篃灝辨槸璇達紝0鏄竴涓嚱鏁扮殑鎸囬拡銆?br>   浣跨敤鍑芥暟鎸囬拡鐨勫嚱鏁板0鏄庡艦寮忔槸錛歷oid (*pFunction)()錛岀浉搴旂殑璋冪敤褰㈠紡鏄細 (*pFunction)()錛?br>   鍒欓棶棰樹腑鐨勫嚱鏁拌皟鐢ㄥ彲浠ュ啓浣滐細(*0)( )銆?br><br>銆銆澶у鐭ラ亾錛屽嚱鏁版寚閽堝彉閲忎笉鑳芥槸涓涓父鏁幫紝鍥犳涓婂紡涓殑 0蹇呴』瑕佽杞寲涓哄嚱鏁版寚閽堛?br><br>銆銆鎴戜滑鍏堟潵鐮旂┒涓涓嬶紝瀵逛簬浣跨敤鍑芥暟鎸囬拡鐨勫嚱鏁幫細<br>        姣斿 void (*pFunction)( )錛屽嚱鏁版寚閽堝彉閲忕殑鍘熷瀷鏄粈涔堬紵<br>    榪欎釜闂寰堢畝鍗曪紝pFunction鍑芥暟鎸囬拡鍘熷瀷鏄? void (*)( ) )錛屽嵆鍘繪帀鍙橀噺鍚嶏紝<br>    娓呮櫚璧瘋錛屾暣涓姞涓婏紙錛夊彿銆?br><br>銆銆鎵浠ュ皢 0寮哄埗杞崲涓轟竴涓繑鍥炲間負void錛屽弬鏁頒負絀虹殑鍑芥暟鎸囬拡濡備笅錛? void (*)( ) )銆?br><br>銆銆 OK錛岀粨鍚?)鍜?)鐨勫垎鏋愶紝緇撴灉鍑烘潵浜嗭紝閭e氨鏄細(*(void (*)( ) )0)( ) 銆?br><br>銆銆絳旀鍒嗘瀽錛氫粠澶村埌灝劇悊瑙g瓟妗?br><br>銆銆 (void (*)( )) 錛屾槸涓涓繑鍥炲間負void錛屽弬鏁頒負絀虹殑鍑芥暟鎸囬拡鍘熷瀷銆?br>銆銆 (void (*)( ))0錛屾妸0杞彉鎴愪竴涓繑鍥炲間負void錛屽弬鏁頒負絀虹殑鍑芥暟鎸囬拡錛屾寚閽堟寚鍚戠殑鍦板潃涓?.<br>銆銆 *(void (*)( ))0錛屽墠闈㈠姞涓?琛ㄧず鏁翠釜鏄竴涓繑鍥炲間負void鐨勫嚱鏁扮殑鍚嶅瓧<br>銆銆 (*(void (*)( ))0)( )錛岃繖褰撶劧灝辨槸涓涓嚱鏁頒簡銆?br><br>銆銆鎴戜滑鍙互浣跨敤 typedef娓呮櫚澹版槑濡備笅錛?br><br>銆銆 typedef void (*pFun)();<br><br>榪欐牱瀹氫箟涔嬪悗錛宲Fun灝辨槸涓涓繑鍥炵被鍨嬩負void鏃犲弬鏁扮殑鍑芥暟鎸囬拡鍙橀噺浜嗐?br><br>銆銆榪欐牱鍑芥暟鍙樹負 (*(pFun)0)();<br><br><br>----<br>鍦ㄨ皟鐢ㄥ姩鎬佸簱鏃訛紝涔犳儻鐢╰ypedef閲嶆柊瀹氫箟鍔ㄦ佸簱鍑芥暟涓殑鍑芥暟鍦板潃錛堝嚱鏁版寚閽堬級錛?br>濡傚湪鍔ㄦ佸簱錛坱est.dll錛変腑鏈夊涓嬪嚱鏁幫細<br>int DoCase(int, long);<br><br>鍒欙紝鍦ㄨ皟鐢ㄥ姩鎬佸簱鏄湁涓ょ鏂規硶錛?br>1. 鍏堝0鏄庝竴涓笌鍔ㄦ佸簱涓被鍨嬩竴鑷寸殑鎸囬拡鍑芥暟鍙橀噺錛?br> <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #0000ff;">int</span><span style="color: #000000;"> (</span><span style="color: #000000;">*</span><span style="color: #000000;">DOCASE)(</span><span style="color: #0000ff;">int</span><span style="color: #000000;"> ,</span><span style="color: #0000ff;">long</span><span style="color: #000000;">);  </span><span style="color: #008000;">//</span><span style="color: #008000;">鐢ㄤ簬鎸囧悜鍔ㄦ佸簱涓殑DoCase鍑芥暟鍦板潃</span><span style="color: #008000;"><br></span><span style="color: #000000;">HINSTANCE gLibMyDLL </span><span style="color: #000000;">=</span><span style="color: #000000;"> NULL;<br>gLibMyDLL </span><span style="color: #000000;">=</span><span style="color: #000000;"> LoadLibrary(</span><span style="color: #000000;">"</span><span style="color: #000000;">test.dll</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br></span><span style="color: #0000ff;">if</span><span style="color: #000000;">(gLibMyDLL </span><span style="color: #000000;">!=</span><span style="color: #000000;"> NULL)<br>{<br>  DOCASE </span><span style="color: #000000;">=</span><span style="color: #000000;"> (</span><span style="color: #0000ff;">int</span><span style="color: #000000;">(</span><span style="color: #000000;">*</span><span style="color: #000000;">)(</span><span style="color: #0000ff;">int</span><span style="color: #000000;">,</span><span style="color: #0000ff;">long</span><span style="color: #000000;">))GetProcAddress(gLibMyDLL, </span><span style="color: #000000;">"</span><span style="color: #000000;">DoCase</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br>}<br></span><span style="color: #0000ff;">int</span><span style="color: #000000;"> s </span><span style="color: #000000;">=</span><span style="color: #000000;"> DOCASE(</span><span style="color: #000000;">1</span><span style="color: #000000;">,</span><span style="color: #000000;">1000</span><span style="color: #000000;">);<br><br></span><span style="color: #000000;">2</span><span style="color: #000000;">.鐢╰ypedef瀹氫箟涓涓寚閽堝嚱鏁幫細<br>typedef (</span><span style="color: #000000;">*</span><span style="color: #000000;">DOCASE)(</span><span style="color: #0000ff;">int</span><span style="color: #000000;"> ,</span><span style="color: #0000ff;">long</span><span style="color: #000000;">);<br><br>HINSTANCE gLibMyDLL </span><span style="color: #000000;">=</span><span style="color: #000000;"> NULL;<br>DOCASE _docase;<br>gLibMyDLL </span><span style="color: #000000;">=</span><span style="color: #000000;"> LoadLibrary(</span><span style="color: #000000;">"</span><span style="color: #000000;">test.dll</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br></span><span style="color: #0000ff;">if</span><span style="color: #000000;">(gLibMyDLL </span><span style="color: #000000;">!=</span><span style="color: #000000;"> NULL)<br>{<br>  _docase </span><span style="color: #000000;">=</span><span style="color: #000000;"> (DOCASE)GetProcAddress(gLibMyDll, </span><span style="color: #000000;">"</span><span style="color: #000000;">DoCase</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br>}<br><br></span><span style="color: #0000ff;">int</span><span style="color: #000000;"> s</span><span style="color: #000000;">=</span><span style="color: #000000;">_docase(</span><span style="color: #000000;">1</span><span style="color: #000000;">,</span><span style="color: #000000;">1000</span><span style="color: #000000;">);</span></div> <br><br>----------------<br>鍦–++綾諱腑浣跨敤鍑芥暟鎸囬拡銆?br> <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #008000;">//</span><span style="color: #008000;">typedef 榪斿洖綾誨瀷(綾誨悕::*鏂扮被鍨?(鍙傛暟琛?</span><span style="color: #008000;"><br></span><span style="color: #0000ff;">class</span><span style="color: #000000;"> CA<br>{<br></span><span style="color: #0000ff;">public</span><span style="color: #000000;">:<br>  </span><span style="color: #0000ff;">char</span><span style="color: #000000;"> lcFun(</span><span style="color: #0000ff;">int</span><span style="color: #000000;"> a){ </span><span style="color: #0000ff;">return</span><span style="color: #000000;">; }<br>};<br><br>CA ca;<br>typedef </span><span style="color: #0000ff;">char</span><span style="color: #000000;"> (CA::</span><span style="color: #000000;">*</span><span style="color: #000000;">PTRFUN)(</span><span style="color: #0000ff;">int</span><span style="color: #000000;">);<br>PTRFUN pFun;<br></span><span style="color: #0000ff;">void</span><span style="color: #000000;"> main()<br>{<br>  pFun </span><span style="color: #000000;">=</span><span style="color: #000000;"> CA::lcFun;<br>  ca.(</span><span style="color: #000000;">*</span><span style="color: #000000;">pFun)(</span><span style="color: #000000;">2</span><span style="color: #000000;">);<br>}</span></div> <br><br>鎸囬拡鐨勫畾涔変笌浣跨敤閮藉姞涓婁簡“綾婚檺鍒?#8221;鎴?#8220;瀵硅薄”錛岀敤鏉ユ寚鏄庢寚閽堟寚鍚戠殑鍑芥暟鏄摢涓被鐨?<br>榪欓噷鐨勭被瀵硅薄涔熷彲浠ユ槸浣跨敤new寰楀埌鐨勩?br>濡傦細<br>CA *pca = new CA;<br>pca->(*pFun)(2);<br>delete pca;<br>鑰屼笖榪欎釜綾誨璞℃寚閽堝彲浠ユ槸綾誨唴閮ㄦ垚鍛樺彉閲忥紝浣犵敋鑷沖彲浠ヤ嬌鐢╰his鎸囬拡銆?br>濡傦細綾籆A鏈夋垚鍛樺彉閲廝TRFUN m_pfun;<br>void CA::lcFun2()<br>{<br>   (this->*m_pFun)(2);<br>}<br>涓鍙ヨ瘽錛屼嬌鐢ㄧ被鎴愬憳鍑芥暟鎸囬拡蹇呴』鏈?#8220;->*”鎴?#8220;.*”鐨勮皟鐢ㄣ?br><br><br>--------------------<br> <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #000000;"><br></span><span style="color: #0000ff;">void</span><span style="color: #000000;"> test(</span><span style="color: #0000ff;">void</span><span style="color: #000000;">*</span><span style="color: #000000;"> );<br></span><span style="color: #0000ff;">void</span><span style="color: #000000;"> tt()<br>{<br>   printf(</span><span style="color: #000000;">"</span><span style="color: #000000;">kao,娌$帺榪囪繖縐峔n</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br>}<br><br></span><span style="color: #0000ff;">int</span><span style="color: #000000;"> main(</span><span style="color: #0000ff;">int</span><span style="color: #000000;"> argc, </span><span style="color: #0000ff;">char</span><span style="color: #000000;">*</span><span style="color: #000000;"> argv[])<br>{<br>    typedef </span><span style="color: #0000ff;">void</span><span style="color: #000000;">(</span><span style="color: #000000;">*</span><span style="color: #000000;">Fun)();<br>    Fun mytest;<br>    mytest </span><span style="color: #000000;">=</span><span style="color: #000000;"> tt;<br>    test((</span><span style="color: #0000ff;">void</span><span style="color: #000000;">*</span><span style="color: #000000;">)mytest);<br>    </span><span style="color: #0000ff;">return</span><span style="color: #000000;"> </span><span style="color: #000000;">0</span><span style="color: #000000;">;<br>}<br><br></span><span style="color: #0000ff;">void</span><span style="color: #000000;"> test(</span><span style="color: #0000ff;">void</span><span style="color: #000000;"> </span><span style="color: #000000;">*</span><span style="color: #000000;"> p)<br>{<br>    (</span><span style="color: #000000;">*</span><span style="color: #000000;">(</span><span style="color: #0000ff;">void</span><span style="color: #000000;">(</span><span style="color: #000000;">*</span><span style="color: #000000;">)())p)();<br>}</span></div> <br><br><img src ="http://m.shnenglu.com/kenlistian/aggbug/65485.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/kenlistian/" target="_blank">kenlistian</a> 2008-10-29 22:23 <a href="http://m.shnenglu.com/kenlistian/archive/2008/10/29/65485.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>offsetof 鐨勭悊瑙?/title><link>http://m.shnenglu.com/kenlistian/archive/2008/10/27/65218.html</link><dc:creator>kenlistian</dc:creator><author>kenlistian</author><pubDate>Mon, 27 Oct 2008 09:16:00 GMT</pubDate><guid>http://m.shnenglu.com/kenlistian/archive/2008/10/27/65218.html</guid><wfw:comment>http://m.shnenglu.com/kenlistian/comments/65218.html</wfw:comment><comments>http://m.shnenglu.com/kenlistian/archive/2008/10/27/65218.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/kenlistian/comments/commentRss/65218.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/kenlistian/services/trackbacks/65218.html</trackback:ping><description><![CDATA[<br> <br> 鍏充簬鍋忕Щ閲忕殑瀹忓畾涔?br> <br> #define offsetof(s,m)   (size_t)&(((s *)0)->m)<br> <br> s鏄竴涓粨鏋勫悕錛屽畠鏈変竴涓悕涓簃鐨勬垚鍛橈紙s鍜宮 鏄畯offsetof鐨勫艦鍙傦紝<br>瀹冨疄闄呮槸榪斿洖緇撴瀯s鐨勬垚鍛榤鐨勫亸縐誨湴鍧<br> <br> <br> (s *)0 鏄獥緙栬瘧鍣ㄨ鏈変竴涓寚鍚戠被錛堟垨緇撴瀯錛塻鐨勬寚閽堬紝鍏跺湴鍧鍊?  <br> <br> &((s *)0)->m   鏄鍙栧緱綾籹涓垚鍛樺彉閲弇鐨勫湴鍧  <br>          鍥犲熀鍧涓?錛岃繖鏃秏鐨勫湴鍧褰撶劧灝辨槸m鍦╯涓殑鍋忕Щ<br><br>鏈鍚庤漿鎹ize_t 鍨嬶紝鍗硊nsigned int銆?br> <br> 鏈変緥瀛愬錛?nbsp; <br>   struct   AAA  <br>   {  <br>     int   i;  <br>     int   j;  <br>   };  <br>    <br>   struct   AAA   *pAAA;  <br>   pAAA = new   AAA;  <br>   榪欐椂錛宲AAA瀹為檯涓婃槸涓涓狿ointer, 鎸囧悜鏌愪竴紜畾鐨勫唴瀛樺湴鍧錛?br>      濡?x1234;  <br>   鑰宲AAA->i 鏁翠綋鏄竴涓猧nt鍨嬪彉閲忥紝鍏跺湴鍧鏄?amp;(pAAA->i),<br>   '&'涓哄彇鍧榪愮畻絎︼紱  <br>   閭d箞&(pAAA->i)涓瀹氱瓑浜?x1234,鍥?i 鏄粨鏋勪綋AAA鐨勭涓涓厓绱犮?nbsp; <br>   鑰?amp;(pAAA->j)涓瀹氭槸0x1234 + 0x4 = 0x1238; 鍥犱負sizeof(int) = 4;  <br>    <br>   榪欎釜鍋氭硶鐨勫閥濡欎箣澶勫氨鏄細瀹冩妸“0”浣滀負涓婁緥涓殑pAAA,閭d箞&(pAAA->j)灝辨槸j鐨?nbsp; <br>   offset鍟︼紝  <br> <br>   瑙f瀽緇撴灉鏄細  <br>   (s*)0,灝?0 寮哄埗杞崲涓篜ointer to "s"    <br>   鍙互璁?pS = (s*)0錛宲S鏄寚鍚憇鐨勬寚閽堬紝瀹冪殑鍊兼槸0;  <br>   閭d箞pS->m灝辨槸m榪欎釜鍏冪礌浜嗭紝鑰?amp;(pS->m)灝辨槸m鐨勫湴鍧錛?br>   灝辨槸offset鍟?nbsp;    <br> <br><br> <br> <br> <img src ="http://m.shnenglu.com/kenlistian/aggbug/65218.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/kenlistian/" target="_blank">kenlistian</a> 2008-10-27 17:16 <a href="http://m.shnenglu.com/kenlistian/archive/2008/10/27/65218.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>澶囨敞ado鍔犲ご鏂囦歡http://m.shnenglu.com/kenlistian/archive/2008/07/17/56385.htmlkenlistiankenlistianThu, 17 Jul 2008 02:21:00 GMThttp://m.shnenglu.com/kenlistian/archive/2008/07/17/56385.htmlhttp://m.shnenglu.com/kenlistian/comments/56385.htmlhttp://m.shnenglu.com/kenlistian/archive/2008/07/17/56385.html#Feedback0http://m.shnenglu.com/kenlistian/comments/commentRss/56385.htmlhttp://m.shnenglu.com/kenlistian/services/trackbacks/56385.html
#pragma warning(disable:4146)
#import "C:\Program Files\Common Files\System\ADO\msado15.dll" named_guids rename("EOF","adoEOF"), rename("BOF","adoBOF")
#pragma warning(default:4146)

using namespace ADODB;

"Provider=SQLOLEDB,Data Source=serverName;Initial Catalog=databaseName;User ID=userName;Password=userPassword;"

#import "c:\program files\common files\system\ado\msado15.dll" no_namespaces rename("EOF","adoEOF")


http://www.pconline.com.cn/pcedu/empolder/gj/vc/0507/653859.html


]]>
vc6涓嬬殑directshow鐨勫ご鏂囦歡http://m.shnenglu.com/kenlistian/archive/2008/07/15/56223.htmlkenlistiankenlistianTue, 15 Jul 2008 11:28:00 GMThttp://m.shnenglu.com/kenlistian/archive/2008/07/15/56223.htmlhttp://m.shnenglu.com/kenlistian/comments/56223.htmlhttp://m.shnenglu.com/kenlistian/archive/2008/07/15/56223.html#Feedback0http://m.shnenglu.com/kenlistian/comments/commentRss/56223.htmlhttp://m.shnenglu.com/kenlistian/services/trackbacks/56223.htmlvc6 涓嬬殑msdn鐗堟湰錛氭渶鍚庝竴涓敮鎸乂S6鐨勭増鏈槸2001騫?0鏈堢増錛?br>

DirectX SDK錛欴irectX 9.0 Summer 2004 SDK Update錛?br>
涓嬭澆欏甸潰錛?a >http://www.microsoft.com/downloads/details.aspx?FamilyID=fd044a42-9912-42a3-9a9e-d857199f888e&DisplayLang=en
榪欎釜鐗堟湰鐨凞irect 9 SDK鏄笉瀹屽叏鏀寔VC6鐨勶紝

娉ㄦ剰涓嬭澆欏甸潰鐨凮verview錛?br>This download contains all the extra files that are not included in the DirectX 9.0 SDK Summer Update 2004 release such as a d3dx.lib which supports VC 6.0, older plug-ins and Japanese version of the documentation.
鍗矰irectX SDK Summer Update 2004閲岄潰闄勫甫鐨刣3dx.lib鏄笉鏀寔VC6鐨勶紝鏀寔VC6鐨勭増鏈湪Extras鍖呴噷闈€?br>
榪橀』涓婦irectX 9.0 Summer 2004 SDK Update Extras錛?a >http://www.microsoft.com/downloads/details.aspx?FamilyID=736585e1-10f0-4e85-b940-828cba9971f1&DisplayLang=en錛夛紝

鍙﹀緙栬瘧鏃跺嚭鐜頒簡DWORD_PTR鎴栬呭叾浠栦粈涔堢被鍨嬫湭瀹氫箟涔嬬被鐨勯敊璇紝鏄洜涓哄井杞妸BASETSD.H浠嶥irectX SDK鍙戣鍖呴噷鎷挎帀浜嗭紝榪欎釜鏂囦歡鍦≒latform SDK閲屾湁錛屽湪VC鐨処nclude璺緞涓妸Platform SDK鐨刬nclude璺緞鎻愬埌鏈鍓嶉潰灝卞彲浠ヤ簡銆?br>Platform SDK錛屾渶鍚庝竴涓敮鎸乂C6鐨凱latform SDK鏄疐ebruary 2003 Edition錛?br>涓嬭澆錛?a >http://www.microsoft.com/msdownload/platformsdk/sdkupdate/psdk-full.htm


****************************************************
鍥犱負鐜板湪浠庡井杞笅杞介渶瑕侀獙璇?br>
鍙互涓婦irectX 9 SDK 綺劇畝鐗堬紝7M澶э紝榪欓噷DirectX 9 SDK 綺劇畝鐗堢殑涓嬭澆鍦板潃錛?br>http://www.gameres.com/Resource/dx9sdk.zip

浠嶮SDN6閲岄潰鎻愬彇鍑烘潵鐨凞irectShow澶存枃浠訛細
http://www.shenglu.com/UserFiles/File/files/DirectShow_Include_files_from_msdn6cd1.zip



鎰熻阿涓婇潰鎻愪緵鑰呫?

]]>
bind1nd 鍜宐ind2nd鐨勬剰鎬?/title><link>http://m.shnenglu.com/kenlistian/archive/2008/07/14/56114.html</link><dc:creator>kenlistian</dc:creator><author>kenlistian</author><pubDate>Mon, 14 Jul 2008 08:56:00 GMT</pubDate><guid>http://m.shnenglu.com/kenlistian/archive/2008/07/14/56114.html</guid><wfw:comment>http://m.shnenglu.com/kenlistian/comments/56114.html</wfw:comment><comments>http://m.shnenglu.com/kenlistian/archive/2008/07/14/56114.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/kenlistian/comments/commentRss/56114.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/kenlistian/services/trackbacks/56114.html</trackback:ping><description><![CDATA[<br> 閲囩敤bind1st鍜宐ind2nd鐨勬剰鎬濓紝灝辨槸鎶婂弬鏁扮粦瀹氬湪絎竴浣嶈繕鏄浜屼綅銆?br>緇ф壙浜巄inary_function 綾?<br>鎻忚堪濡備笅<br>Class binder1st binds the value to the first argument of the binary function, and binder2nd does the same thing<br>for the second argument of the function. <br><br>濡備笅錛氫緥瀛?br><br>struct compare_str :binary_function<ST_DataResult*, char*, bool><br>{<br>public:<br>    bool operator()(ST_DataResult* pDataRet, char* szTypeCode) const<br>    {<br>        return strcmp(pDataRet->sType , szTypeCode) == 0 ? true : false;<br>        <br>    }<br>};<br><br><br>銆傘傘?br><br>char szTypeCode[4] = {'\0'};<br>strcpy(szTypeCode, sTypeCode);<br>pIt = find_if(m_d_ret_data.begin(), m_d_ret_data.end(),<br>        bind2nd(compare_str(), szTypeCode));<br><br>鍏朵腑鎶妔zTypeCode鍙橀噺浼犲叆鍒癱ompare_str鎵瀹氫箟鐨勭浜屼釜鍙傛暟浣嶇疆浼犲叆銆?br>濡傛灉鍐欐垚bind1nd, 鍒欐槸鎶妔zTypeCode浣滀負絎竴涓弬鏁頒紶鍏ワ紝閭d箞浼氭姤閿欍?br>鍥犱負綾誨瀷涓嶅銆?br><br><br><img src ="http://m.shnenglu.com/kenlistian/aggbug/56114.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/kenlistian/" target="_blank">kenlistian</a> 2008-07-14 16:56 <a href="http://m.shnenglu.com/kenlistian/archive/2008/07/14/56114.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>wxWidgets妗嗘灦渚嬪瓙http://m.shnenglu.com/kenlistian/archive/2008/06/03/52087.htmlkenlistiankenlistianTue, 03 Jun 2008 14:54:00 GMThttp://m.shnenglu.com/kenlistian/archive/2008/06/03/52087.htmlhttp://m.shnenglu.com/kenlistian/comments/52087.htmlhttp://m.shnenglu.com/kenlistian/archive/2008/06/03/52087.html#Feedback1http://m.shnenglu.com/kenlistian/comments/commentRss/52087.htmlhttp://m.shnenglu.com/kenlistian/services/trackbacks/52087.html鐩存帴綺樿創鍒皏c涓紝榪愯鍗沖彲銆傚綋鐒墮渶瑕佸畨瑁呭ソwxwidgets鍙婂叾閰嶇疆濂絣ib鍜宨nclude璁劇疆銆?br>
鍏惰В閲婇儴鍒嗛潪甯歌緇嗭紝鍩烘湰涓妛xwidgets鍜宮fc宸笉浜嗗灝戯紝浣嗘槸鎵╁厖鎬у拰璺ㄥ鉤鍙版ф槸澶т簬mfc錛屽悓鏃?br>涔熷鐔熸倝ruby涓嬬殑wxruby鍜寃xpython鏄潪甯稿揩閫熺殑銆?br>
#include "wx/wx.h"

// 瀹氫箟搴旂敤紼嬪簭綾?br>class MyApp : public wxApp
{
public:
    virtual bool OnInit();
};

// 瀹氫箟涓葷獥鍙g被
class MyFrame : public wxFrame
{
public:
    // 涓葷獥鍙g被鐨勬瀯閫犲嚱鏁?br>    MyFrame(const wxString& title);

    // 浜嬩歡澶勭悊鍑芥暟
    void OnQuit(wxCommandEvent& event);
    void OnAbout(wxCommandEvent& event);

private:
    // 澹版槑浜嬩歡琛?br>    DECLARE_EVENT_TABLE()
};

// 鏈変簡榪欎竴琛屽氨鍙互浣跨敤 MyApp& wxGetApp()浜?br>DECLARE_APP(MyApp)

// 鍛婅瘔wxWidgets涓誨簲鐢ㄧ▼搴忔槸鍝釜綾?br>IMPLEMENT_APP(MyApp)

bool MyApp::OnInit()
{
    // 鍒涘緩涓葷獥鍙?br>    MyFrame *frame = new MyFrame(wxT("Minimal wxWidgets App"));

    // 鏄劇ず涓葷獥鍙?br>    frame->Show(true);
    return true;
}

// MyFrame綾葷殑浜嬩歡琛?br>BEGIN_EVENT_TABLE(MyFrame, wxFrame)
    EVT_MENU(wxID_ABOUT, MyFrame::OnAbout)
    EVT_MENU(wxID_EXIT,  MyFrame::OnQuit)
END_EVENT_TABLE()

void MyFrame::OnAbout(wxCommandEvent& event)
{
    wxString msg;
    msg.Printf(wxT("Hello and welcome to %s"),
               wxVERSION_STRING);

    wxMessageBox(msg, wxT("About Minimal"),
                 wxOK | wxICON_INFORMATION, this);
}

void MyFrame::OnQuit(wxCommandEvent& event)
{
    Close();
}

MyFrame::MyFrame(const wxString& title)
       : wxFrame(NULL, wxID_ANY, title)
{
    // 璁劇疆紿楀彛鍥炬爣
    //SetIcon(wxIcon(mondrian_xpm));

    // 鍒涘緩鑿滃崟鏉?br>    wxMenu *fileMenu = new wxMenu;

    // 娣誨姞“鍏充簬”鑿滃崟欏?br>    wxMenu *helpMenu = new wxMenu;
    helpMenu->Append(wxID_ABOUT, wxT("&About...\tF1"),
                     wxT("Show about dialog"));

    fileMenu->Append(wxID_EXIT, wxT("E&xit\tAlt-X"),
                     wxT("Quit this program"));

    // 灝嗚彍鍗曢」娣誨姞鍒拌彍鍗曟潯涓?br>    wxMenuBar *menuBar = new wxMenuBar();
    menuBar->Append(fileMenu, wxT("&File"));
    menuBar->Append(helpMenu, wxT("&Help"));

    // ...鐒跺悗灝嗚彍鍗曟潯鏀劇疆鍦ㄤ富紿楀彛涓?br>    SetMenuBar(menuBar);

    // 鍒涘緩涓涓姸鎬佹潯鏉ヨ涓鍒囨洿鏈夎叮浜涖?br>    CreateStatusBar(2);
    SetStatusText(wxT("嬈㈣繋浣跨敤wxWidgets!"));
}



娉ㄦ剰鐨勬槸錛?br>1.蹇呴』鏄痺indows妗嗘灦鑰屼笉鏄痗ontrol紼嬪簭妗嗘灦
2.閫氳繃鍚戝鐢熸垚鐨剆tdafx.h 鍙互閫氳繃project/set/ "c/c++"涓夋嫨鏃犵紪璇戝ご鏉ュ幓鎺?br>stdafx.h
3.鐩存帴鎷瘋礉榪欎簺lib鍒板伐紼嬭緗?br>wxmsw28d_aui.lib wxmsw28d_html.lib wxmsw28d_xrc.lib wxmsw28d_adv.lib wxmsw28d_core.lib wxbase28d_xml.lib wxbase28d.lib wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexd.lib wxexpatd.lib
kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib
4.闄勫姞璇ib鐨勪綅緗?鎴栬呮妸浠ヤ笂lib鏀劇疆鍒皏c6鍙互鎵懼埌鍦版柟.
5.濡傛灉鎶ユ湁LIBCD.lib閲嶅瀹氫箟,濉埌ignore lib涓?br>6.浠ヤ笂閮芥槸鍦╲c6鐜嫻嬭瘯涓嬮氳繃銆?br>



]]>
wxWidgets鐨勯厤緗?/title><link>http://m.shnenglu.com/kenlistian/archive/2008/06/03/52059.html</link><dc:creator>kenlistian</dc:creator><author>kenlistian</author><pubDate>Tue, 03 Jun 2008 10:13:00 GMT</pubDate><guid>http://m.shnenglu.com/kenlistian/archive/2008/06/03/52059.html</guid><wfw:comment>http://m.shnenglu.com/kenlistian/comments/52059.html</wfw:comment><comments>http://m.shnenglu.com/kenlistian/archive/2008/06/03/52059.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://m.shnenglu.com/kenlistian/comments/commentRss/52059.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/kenlistian/services/trackbacks/52059.html</trackback:ping><description><![CDATA[  <br>鐩墠鏄痺xWidgets-2.8.7錛?br>涓嬭澆<a >http://sourceforge.net/project/showfiles.php?group_id=9863</a><br><br>鍏朵腑鍦╳indows涓嬶紝鍒欓夋嫨鍏朵腑msw鐨勫帇緙╀笅杞姐?br>鎸夌収install鏂囨。瑕佹眰錛岀紪璇憌xWdigets涓殑builder鐩綍涓殑wx銆俠sp銆?br>鐢變簬璇xwdgets鏀寔澶氱緙栬瘧鍣紝閫夋嫨鐩稿叧鐨勫伐紼嬫枃浠跺姞杞姐?br><br>浼犵粺閲囩敤vc6.<br><br>鐢熸垚鐨勭紪璇戞枃浠跺湪lib鐩綍涓傚鏋滈噰鐢╲c鍒欑洰褰曚負vc_lib.<br><br>鐢熸垚鐨刲ib鏂囦歡鏈?release or debug)錛?br> <pre> wxbase28.lib wxbase28d.lib wxbase28_net.lib wxbase28d_net.lib wxbase28_xml.lib wxbase28d_xml.lib wxmsw28_core.lib wxmsw28d_core.lib wxmsw28_html.lib wxmsw28d_html.lib wxmsw28_adv.lib wxmsw28d_adv.lib</pre> <pre>鍦╲c涓緗甽ib錛屽彲浠ユ妸璇ョ洰褰曞姞鍏ワ紝涔熷彲浠ョ洿鎺ユ妸鐢熸垚鐨勬枃浠朵涪鍦╲c鐨刲ib鐩綍銆?/pre> <pre>鍏充簬unicode妯″紡緙栬緫濡備笂銆?/pre> <pre>鍦╥nclude璁劇疆涓紝闇瑕佸姞鍏xWidgets鐩綍涓殑include鐩綍銆?/pre> <pre>榪愯demo紼嬪簭嫻嬭瘯.<br><br>娉ㄦ剰錛氬湪include涔熼渶瑕佹妸setup.h澶存枃浠跺姞鍏ャ傝澶翠篃鏍規嵁鐢熸垚鐨刲ib鐩綍涓皟鐢ㄣ?br> 涓嶈繃鏈濂藉姞鍦ㄩ澶勭悊鐨刬nclude directory鐩綍緙栬緫妗嗕腑銆?br></pre> <pre> <img src="file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/moz-screenshot.jpg" alt=""></pre> <pre>  <br><img src="http://m.shnenglu.com/images/cppblog_com/kenlistian/221.JPG" border="0"> </pre> <pre> </pre> <pre> </pre><img src ="http://m.shnenglu.com/kenlistian/aggbug/52059.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/kenlistian/" target="_blank">kenlistian</a> 2008-06-03 18:13 <a href="http://m.shnenglu.com/kenlistian/archive/2008/06/03/52059.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鎻愰啋鍚屽織浠笉瑕佸姞鐝繃澶翠簡(鍔犵彮璧跺伐錛屽緱涓嶅伩澶扁斺斿巻鍙茬粰浣犱笂鍏)http://m.shnenglu.com/kenlistian/archive/2008/05/08/49231.htmlkenlistiankenlistianThu, 08 May 2008 09:51:00 GMThttp://m.shnenglu.com/kenlistian/archive/2008/05/08/49231.htmlhttp://m.shnenglu.com/kenlistian/comments/49231.htmlhttp://m.shnenglu.com/kenlistian/archive/2008/05/08/49231.html#Feedback0http://m.shnenglu.com/kenlistian/comments/commentRss/49231.htmlhttp://m.shnenglu.com/kenlistian/services/trackbacks/49231.html榪欎釜涓瀹氳鏀癸紝紓ㄥ垁涓嶈鐮嶆煷浜猴紝鑰佽瘽浜嗭紝鐪嬫潵灝辨槸鎷跨瀛﹂亾鐞嗘潵璁詫紝
閬撶悊灝辨槸鏈夐亾鐞嗐?/span>

鏃╁湪75騫翠箣鍓嶏紝澶у鏁拌涓氬氨宸茬粡鏀懼純浜嗗姞鐝刀榪涘害銆傛暟涓嶆竻鐨勮涓氱粡楠屽拰鐮旂┒浜嬪疄璇佹槑錛氳鎯沖畬鎴愬伐浣滐紝鍔犵彮璧跺伐鏄垚鏈渶楂樼殑鍋氭硶銆?

鏂?Evan Robinson  璇?涔旀錛堛婄▼搴忓憳銆?008騫?鏈堝垔錛?

緙樿搗

2004 騫達紝鏌愬浗闄呯數瀛愭父鎴忓叕鍙稿憳宸ョ殑瀹朵漢浠a_spouse涓哄悕錛屽湪鏌愮綉绔欎笂鍙戝竷鏂囩珷錛岃榪頒簡鍏墮厤鍋剁敱浜庨珮寮哄害銆侀暱鏃墮棿鐨勫姞鐝紝瀵硅嚜宸辯殑韜綋鍋ュ悍浠ュ強瀹跺涵鐢熸椿閫犳垚浜嗗緢涓嶅ソ鐨勫獎鍝嶃備竴鐭蟲縺璧峰崈灞傛氮錛屽叧浜庣數瀛愭父鎴忓紑鍙戣涓氫漢澹敓媧昏川閲忕殑璇濋鍐嶆寮曡搗浜嗗ぇ瀹剁殑鐑儓璁ㄨ銆侲a_spouse鏀跺埌浜嗕笂鍗冧釜鍥炲錛屾浜嬩篃寰堝揩琚富瑕佸獟浣撹窡韙姤瀵箋傞氳繃緗戠粶錛屼笂鍗冧漢鍙備笌浜嗚繖涓嚜鍙戠殑澶ц妯¤璁猴紝鍐呭娑夊強寮哄埗鍔犵彮銆佸伐浣滄晥鐜囥佹犳儼銆佸伐浼氥佽瘔璁間互鍙婂寰堝鍏徃鐨勬帶璇夌瓑璁銆?

鎴戝凡緇忓仛浜嗕簩鍗佸騫磋蔣浠墮」鐩殑寮鍙戜笌綆$悊宸ヤ綔銆傝繃鍘葷殑姣忎竴騫達紝鍋氳繃鐨勬瘡涓涓」鐩紝閮借鎴戞洿鍧氫俊錛氬姞鐝刀榪涘害鈥斺?#8220;璧跺伐”鈥斺旀槸涓縐嶉珮鎴愭湰銆佷綆浜у嚭涓旀瀬鍏風牬鍧忔х殑宸ヤ綔鏂瑰紡銆?#8220;宸ヤ綔鎸佺畫鏃墮棿瓚婇暱錛屽伐浣滄晥鐜囪秺浣?#8221;宸叉槸甯歌瘑浜嗐傜劧鑰岄殢鐫鏃墮棿鐨勬帹縐伙紝鎴戝凡娉ㄦ剰鍒幫細鐢變簬榪囧棰濆鍔犵彮瀵艱嚧宸ヤ綔鏁堢巼涓嬮檷鐨勯熷害錛岃瓚呰繃澶у鏁拌蔣浠惰涓氱鐞嗚呯殑璁ょ煡銆傞殢鐫璋冩煡娣卞叆錛屾垜鎯婅鍦板彂鐜版垜騫朵笉鏄涓涓璇嗗埌榪欎竴鐐圭殑浜猴細榪戜竴涓笘綰互鏉ワ紝浼犵粺宸ヤ笟鐨勫伐紼嬪笀浠浜庢垜鎵瑙傚療鍒扮殑闂鏃╁凡杈炬垚鍏辮瘑銆?

鍘嗗彶

1908 騫達紝宸ヤ笟鏁堢巼鐮旂┒鍏堥┍ Ernst Abbe鍏竷浜嗕粬鐨勭爺絀剁粨璁猴紝鍗蟲瘡澶╃殑宸ヤ綔鏃墮棿浠庝節灝忔椂鍑忓皯鍒板叓灝忔椂錛屽叾鏃ヤ駭鍑洪噺浼氬鍔犮傝屼粬涔熶笉鏄涓涓敞鎰忓埌榪欎歡浜嬬殑浜恒傛棭鍦?893騫達紝William Mather鍦⊿alford閽㈤搧鍏徃錛圫alford Iron Works錛夊氨宸茬粡閲囩撼浜嗘瘡澶╁叓灝忔椂鐨勫伐浣滃埗銆傚湪1909騫達紝Sidney J. Chapman鍙戣〃浜嗐婂伐浣滃疄璺點嬶紙Hours of Labour錛夈備粬鍦ㄦ枃涓弿榪頒簡姣忓ぉ鐨勫伐浣滃皬鏃舵暟涓庡伐浜虹殑鐢熶駭鍔涗箣闂寸殑鍙樺寲銆備笅鏂囦細瀵瑰叾緇撹榪涜璇︾粏闃愯堪銆備酣鍒?紱忕壒鍦?926騫村ぇ寮犳棗榧撳湴閲囩撼姣忓懆40灝忔椂宸ヤ綔鍒訛紝鑷沖皯宸茬粡榪涜浜嗗崄浜屽勾鐨勮瘯楠岃浠栫‘淇★細灝嗘瘡鏃ュ伐浣?0灝忔椂璋冩暣涓?灝忔椂錛屽茍鎶婃瘡鍛ㄥ伐浣滃叚澶╂敼涓轟簲澶╋紝瀹為檯涓婁細澧炲姞鎬諱駭鍑哄茍闄嶄綆鐢熶駭鎴愭湰銆傜鐗瑰ぇ鑲嗗鎵緝鐭伐浣滄椂闂寸殑紺句細鏁堢泭錛屽茍寮鴻皟澧炲姞娑堣垂鏃墮棿瀵規瘡涓漢閮芥湁濂藉銆備絾鍏舵牳蹇冭鐐逛粛鏄細鍑忓皯褰撶彮鏃墮棿鍙互甯︽潵鏇村浜у嚭銆?

鎴戝彂鐜板緢澶氱粍緇囷紙濡傚晢涓氥佸ぇ瀛︺佸伐涓氬崗浼氬拰鍐涗簨鍗曚綅絳夛級榪涜鐨勭爺絀剁粨鏋滈兘鎸佹湁鍚屾牱鐨勫熀鏈鐐癸紝鍗沖浜庡ぇ澶氭暟浜烘潵璇達紝“姣忓ぉ宸ヤ綔鍏皬鏃躲佹瘡鍛ㄥ伐浣滀簲澶?#8221;鏄繚璇侀珮浜у嚭鍜屼綆韜績娑堣椾箣闂寸殑鏈浣沖鉤琛$偣銆傚湪鍗佷節涓栫邯鐨勪笁鍗佸勾浠h嚦浜斿崄騫翠唬錛岀被浼肩爺絀惰繘琛岃繃涓婄櫨嬈★紱鍒頒簡鍏崄騫翠唬錛?0灝忔椂宸ヤ綔鍒舵墍甯︽潵鐨勫ソ澶勫湪緹庡浗浼佷笟鐣屽凡琚棤鍙簤杈╁湴鎺ュ彈浜嗐?962騫達紝鍟嗕笟鍗忎細錛圕hamber of Commerce錛夌敋鑷充笓闂ㄥ彂琛屼簡涓涓皬瀹d紶鎵嬪唽錛屾潵縐拌禐鍑忓皯宸ヤ綔鏃墮棿鎵甯︽潵鐨勭敓浜х巼鎻愰珮銆?

鐒惰岋紝涓嶇煡浣曟晠錛岀璋峰嵈鎶婂叾鎶涘湪浜嗚剳鍚庛侲a_spouse鍐欏埌錛?

“鐜板湪鐨勫己鍒跺伐浣滄椂闂存槸浠庢棭涓婁節鐐瑰埌鏅氫笂鍗佺偣錛屼笖姣忓懆宸ヤ綔涓冨ぉ錛屽熀浜庡憳宸ョ殑鑹ソ琛ㄧ幇錛屾槦鏈熷叚鐨勪笅鐝椂闂村伓灝斾細鎻愬墠鍒版櫄涓婂叚鐐瑰崐銆傚鉤鍧囩畻涓嬫潵錛岃繖鐩稿綋浜庢瘡鍛ㄥ伐浣?5灝忔椂銆?#8221;

瀹為檯涓婏紝涓鍛ㄦ湁鍏ぉ鏄粠鏃╀笂涔濈偣宸ヤ綔鍒版櫄涓婂崄鐐癸紝榪樻湁涓澶╂槸浠庢棭涓婁節鐐瑰埌鏅氫笂鍏偣鍗婏紝綆椾笅鏉ユ槸姣忓懆宸ヤ綔87.5灝忔椂錛?×13錛?.5=87.5錛夈傚彲鏄湪宸ヤ綔榪欎箞闀挎椂闂翠互鍚庯紝璋佽繕浼氱畻寰楅偅涔堣緇嗗憿錛?

鍦ㄨ繖涓鏂歸潰錛岀數瀛愯壓鐣屼笌鍏跺畠楂樼鎶鍏徃娌′粈涔堜笉鍚屻傝甯屾湜鎻愰珮鍛樺伐鐢熶駭鍔涗笖鍚屾椂璁╀粬浠繚鎸佸ご鑴戞竻閱掔殑浜轟竴璧鋒潵鐪嬩竴涓嬶細綆$悊鑰呭湪宸ヤ綔鏃墮棿銆佷駭鍑恒佹晥鐜囦互鍙婄敓浜ф垚鏈繖鍑犱釜鏂歸潰鍋氬嚭鐨勫亣璁撅紝浠ュ強涓涓笘綰殑浜т笟鐮旂┒濡備綍璇佹槑榪欎簺鍋囪鏄畬鍏ㄩ敊璇殑銆?

綆$悊鑰呮兂瑕佷粈涔堬紵

褰撶鐞嗗眰灝嗗憳宸ラ佷笂“姝諱骸涔嬫梾”鏃訛紝浠栦滑絀剁珶鎯寵寰楀埌浠涔堝憿錛熸垜浠湡鐨勭浉淇A鐨凜EO鎯崇湅鍒板憳宸ユ拝鐫灞佽偂鍦ㄥ姙鍏閲岃繛緇伐浣?×24灝忔椂鍚楋紵

綆$悊鑰呮兂浠庨泧鍛橀偅閲屽緱鍒版渶澶х殑浜у嚭錛屾槸鐢ㄦ渶灝戠殑鎴愭湰鎶曞叆鐢熶駭鍑烘渶濂界殑浜у搧銆備笉鍒頒竾涓嶅緱宸詫紝浠栦滑涓嶅笇鏈涗負浜嗗畬鎴愪駭鍝佸嚭閽遍泧浣i澶栫殑浜哄姏璧勬簮錛屼粠鑰屽鍔犳垚鏈傝〃闈㈢湅鏉ワ紝瑕佹兂杈懼埌榪欎袱涓洰鐨勶紝“璧跺伐”濂借薄鏄渶鏄捐屾槗瑙佷笖鍚堢悊鐨勬柟娉曚簡銆?

鍋囪浜у嚭鏄埄鐢ㄨ浠舵柟寮忔潵琛¢噺鐨勮瘽錛屾病璇昏繃涓婅堪鐮旂┒鎶ュ憡鐨勭鐞嗚呭彲鑳戒細鎺ㄦ柇錛氬亣濡備竴涓漢鍦ㄥ叓灝忔椂鍐呯敓浜?6浠朵駭鍝侊紝閭d箞錛屼粬鍦ㄤ節涓皬鏃跺唴搴旇鑳界敓浜у嚭18浠朵駭鍝侊紝鍦ㄥ崄涓皬鏃跺唴鍙兘鐢熶駭20浠躲傛垜浠彲浠ョ敤涓嬮潰榪欎釜綆鍗曠殑鍏紡鏉ヨ〃紺鴻繖縐嶈鐐癸細

O = X/Y * t

鍏朵腑錛孫鏄諱駭鍑猴紝X鏄熀鍑嗘椂闂碮錛堜互灝忔椂涓鴻閲忓崟浣嶏級鍐呯殑浜у嚭錛岃宼鏄疄闄呯殑宸ヤ綔灝忔椂鏁般傚湪榪欑鍋囪鍓嶆彁涓嬶紝澧炲姞鏃墮棿t鏄彁楂樹駭鍑篛鐨勬渶綆鏂規硶銆傚湪涓埆鎯呭喌涓嬶紝榪欑鍋囪鏄湁鏁堢殑錛屼緥濡傚彧鍦ㄥ緢鐭殑涓孌墊椂闂撮噷寤墮暱宸ヤ綔灝忔椂鏁頒互渚胯兘鍦ㄦ渶鍚庢湡闄愭椂浜や粯銆備絾鏄紝鍏跺畠琛屼笟鐨勯暱鏈熻瘯楠屽拰鐮旂┒琛ㄦ槑錛氬姞鐝啿鍒虹殑鏋侀檺鎸佺畫鏃墮棿姣斿ぇ瀹舵兂璞$殑瑕佺煭錛涜屼笖褰撹揪鍒版瀬闄愪互鍚庯紝榪欑鍐插墝涔熶細闄峰叆鍥板銆?

灝忔椂鐢熶駭鐜囧緢閲嶈

瀵逛簬濡備綍鐪嬪緟“宸ヤ漢鐨勪駭鍑?#8221;錛屾洿鐜板疄鐨勬柟娉曟槸鑰冭檻灝忔椂鐢熶駭鐜囦細闅忕潃宸ヤ綔鏃墮棿鐨勯暱鐭彂鐢熷彉鍖栥傝繖縐嶅彉鍖栨湁涓ょ涓昏鏉ユ簮錛氬湪涓澶╀腑鏈鍚庡嚑涓皬鏃墮噷錛屼駭鐢熷湪鑴戝姏鍜屼綋鍔涗笂鐨勬槑鏄劇柌鍔崇姸鍐碉紱闅忕潃宸茬粡寤墮暱浜嗗伐浣滄椂闂寸殑宸ヤ綔鏃ヤ笉鏂鍔狅紝鑴戝姏鍜屼綋鍔涚殑鐤插姵涔熶笉鏂Н鑱氥?

涓嬮潰鐨勭瓑寮忚〃杈句簡榪欑鏇村鏉備竴鐐瑰効鐨勬儏鍐碉細

O = P(t1 , t2 , t3 , … , tn )

鍏朵腑錛孫浠h〃鎬諱駭鍑猴紝P( )琛ㄧず灝忔椂鐢熶駭鐜囬殢鏃墮棿(t1-tn)鐨勫彉鍖栥傚湪榪欎釜絳夊紡涓紝P( )鏄竴涓嚱鏁幫紝涓嶆槸涓涓父閲忋侾( )鏍規嵁宸ヤ漢鐨勪笉鍚岃屽彉鍖栵紝鍥犱負鏌愪簺浜虹敓浜у姏瑕侀珮浜庡叾浠栦漢銆侾( )涔熼殢鏃墮棿鍙樺寲錛屽洜涓轟漢涓嶆槸鏈哄櫒錛屽湪絎?4涓皬鏃跺畬鎴愮殑宸ヤ綔騫朵笉瀹屽叏絳変簬鍦ㄧ1涓皬鏃跺畬鎴愮殑宸ヤ綔銆傚彟澶栵紝P ( )涔熶細闅忓伐浜烘渶榪戠殑鐘舵佽屽彉鍖栵紝渚嬪錛屽紑澶滆濺鍚庣殑鏃╀笂涓庣潯浜嗕竴涓ソ瑙夊悗鐨勬棭涓婏紝鍏跺伐浣滄晥鐜囦篃涓嶅彲鑳芥槸瀹屽叏涓鏍風殑銆?

鍦?909騫碨idney J. Chapman鍙戣〃鐨勩婂伐浣滄椂闂淬嬩竴鏂囦腑灞曠ず浜嗕笅闈㈣繖寮犵ず鎰忓浘錛?



鍏朵腑錛屾洸綰縋琛ㄧず“鍥哄畾鏁伴噺鐨勫姵鍔ㄥ姏錛堟牴鎹瘡涓伐浣滄棩鐨勫皬鏃舵暟錛変駭鍑鴻竟闄呬環鍊肩殑闀挎湡鍙樺寲鍊?#8221;銆侽X杞磋〃紺轟竴澶╁唴鐨勫伐浣滄椂闂達紝OY杞磋〃紺轟駭鍑虹殑浠峰箋傚湪OX杞寸殑n鐐逛笂錛屼篃灝辨槸璇村鏋滄瘡澶╁伐浣渘涓皬鏃訛紝鍏舵諱駭鍊兼槸鍥懼艦Onda鐨勯潰縐紙璇︽儏璇峰弬瑙?nbsp;http: //www.worklessparty.org/timework/chapman.htm錛夈傚彲浠ュ彂鐜幫細鏇茬嚎P鐨勯珮搴﹀氨浠h〃浜嗗伐浜虹殑宸ヤ綔鏁堢巼錛堟瘡澶╁湪緇欏畾鐨勫伐浣滃皬鏃舵暟涓嬶紝姣忎釜鍗曚綅鏃墮棿鐨勪駭鍑猴級銆?

鑱槑鐨勮鑰呭凡緇忔敞鎰忓埌鍦ㄧ偣b錛屽伐浣滄洿澶氬皬鏃朵笉浼氬垱閫犳洿澶氱殑浠峰箋傝屼笖鍦╞鐐逛互鍚庯紝姣忓宸ヤ綔涓涓皬鏃訛紝浜у嚭鍙嶈屾槸璐熷箋傛庝箞浼氳繖鏍峰憿錛?

Chapman 鐨勫伐浣滄洸綰垮浘鍋囪緇欏畾宸ヤ綔灝忔椂鏁扮殑宸ヤ綔鏃ヤ細鎸佺畫涓瀹氱殑鏃墮棿銆傚洜姝わ紝瀹冨皢姣忓ぉ鐨勭柌鍔崇姸鍐靛拰闀挎湡鐨勭柌鍔崇瘡璁$粺涓鍦ㄤ竴涓ā鍨嬩箣鍐呬綋鐜般傞鍏堬紝灝忔椂浜у嚭鐜囩殑涓嬮檷鍙嶆槧浜嗗湪鎺ヨ繎涓澶╁伐浣滅粨鏉熸椂錛岀柌鍔蟲晥搴斿宸ヤ綔璐ㄩ噺鍜屾暟閲忎笂鐨勫獎鍝嶃備絾鏄埌鍚庢潵錛屾瘡澶╃殑鐤插姵鏄敱绱Н鐤插姵澶嶅悎緇勬垚鐨勩備篃灝辨槸璇達紝鍦ㄥご涓澶╁姞鐝椂闂村鑷寸柌鍔充駭鐢熺殑鐢熶駭鍔涗笅闄嶏紝浼氬姝ゅ悗宸ヤ綔鏃ョ殑灝忔椂鐢熶駭鐜囦笅闄嶄駭鐢熷彔鍔犳晥搴斻?

鍗充究鏄湪涓澶╀箣鍐咃紝褰撶簿鐤插姏绔殑闆囧憳鍐嶄篃鏃犳硶鎶曞叆宸ヤ綔鏃訛紝浜у嚭灝變細鍋滄粸涓嶅墠銆傚鏋滄煇涓凡緇忓彉寰楅夯鏈ㄧ殑闆囧憳鐘簡鐏鵑毦鎬х殑閿欒錛岀牬鍧忎簡鍓嶉潰宸茬粡瀹屾垚鐨勫伐浣滃拰鎶曞叆璧勬湰錛岄偅浜у嚭灝變細鍙樻垚璐熸暟銆?

灝卞伐鍘傝岃█錛屼竴涓伐浜虹殑鐢熶駭鐜囦細闅忔椂闂翠笅闄嶃傛煇宸ヤ漢鍦ㄤ竴涓彮嬈″紑濮嬶紝鍙兘姣忓皬鏃剁敓浜?0涓伐浠訛紝鑰屽湪鎺ヨ繎涓嬬彮鏃訛紝鍙兘姣忓皬鏃跺彧鑳界敓浜?涓紝鍦ㄨ繖鍏墮棿錛屾湁鍑犱釜灝忔椂鍙兘浼氳揪鍒板嘲鍊?2涓傚啀寰鍚庯紝鍏跺伐浣滀細鍙樺緱鏇存參錛岃屼笖浼氱姱鏇村閿欒銆傝繖縐嶅噺閫熷拰閿欒鏈緇堜細浣跨敓浜у姏鎴愪負闆訛紝鍗寵姳浜嗗緢闀挎椂闂存墠鐢熶駭涓涓伐浠訛紝鑰屽埌浜嗘渶鍚庝竴涓諱細鏈夌偣姣涚梾銆傛祦姘寸嚎鐨勭鐞嗚呭緢涔呬箣鍓嶅氨鍙戠幇錛氬綋杈懼埌榪欑鐤插姵紼嬪害鏃訛紝浼氬甫鏉ヨ緝澶х殑澶辮錛屽茍瀵艱嚧鏇村ぇ鐨勬垚鏈崯澶憋紝濡傛槀璐電殑鏈哄櫒鍙楁崯錛屽瓨璐ц姣侊紝鎴栬呭伐浜轟弗閲嶅彈浼ょ瓑銆?

浣滀負鑴戝姏宸ヤ綔鑰咃紝寰楀埌鍏呭垎浼戞伅鍚庯紝紼嬪簭鍛樹細鐢熶駭鏇村楂樿川閲忕殑浠g爜錛岃屼笖bug涔熶細姣旇緝灝戙傚湪寮濮嬪伐浣滅殑絎竴涓皬鏃訛紝紼嬪簭鍛樹細閫愭笎榪涘叆鐘舵侊紝鎺ヤ笅鏉ョ殑 鍑犱釜灝忔椂鏄渶浣崇姸鎬併傚湪姝や箣鍚庯紝鎴戜滑浼氭劅鍒扮柌鍔籌紝灝忔椂鐢熶駭鐜囦篃灝變笅闄嶏紱鎴戜滑浼氳姳寰堥暱鏃墮棿鎵嶈兘淇涓涓畝鍗曠殑bug錛屾垨澧炲姞涓涓畝鍗曠殑鐗規с傝岃繖鏍風殑浜嬫儏濡傛灉鎷垮埌鍓嶅嚑涓皬鏃跺仛錛屽彲鑳戒篃灝辨槸鍑犲垎閽熺殑媧誨効銆傚啀鎭跺姡涓浜涚殑鐘跺喌鈥斾技涔庡緢澶氱數瀛愬ū涔愯涓氱殑鍏徃澶ч儴鍒嗘椂闂撮兘鍦ㄨ繖縐嶆瀬绔姸鍐典笅宸ヤ綔鈥斾竴涓繃搴︾柌鍊︾殑IT鎶鏈漢鍛樺彲鑳戒細鍒犻櫎寰堟湁浠峰肩殑鏂囦歡錛屼粠鑰岃鑺辮垂棰濆鐨勫伐浣滃幓鎭㈠澶囦喚錛涗粬涔熷彲鑳藉湪鍥炲鐨勮礬涓婇亣鍒頒氦閫氫簨鏁咃紝緇撴灉鍦ㄥ嚑涓湀鍐呴兘鏃犳硶涓婄彮銆?

榪欏氨鏄涓璇撅細鍦ㄤ竴涓伐浣滄棩涓紝鐢熶駭鐜囬殢鏃墮棿h鍙樺寲銆傚湪鍓嶅洓鑷沖叚涓皬鏃墮噷錛岀敓浜ф晥鐜囨渶楂樸傞殢鐫鏃墮棿鐨勬祦閫濓紝鐢熶駭鐜囦細闄嶄負0錛岀敋鑷充細鍙樻垚璐熸暟銆?

騫寵 鐐瑰湪鍝噷錛?/span>

濡傛灉鍦ㄤ竴涓伐浣滄棩鍐咃紝鐢熶駭鐜囨湰鏉ュ氨浼氶殢鏃墮棿涓嬮檷錛岃屼笖闀挎椂闂村伐浣滀細瀵艱嚧浣庣敓浜х巼錛岄偅涔堟垜浠浣曟壘鍒頒竴縐嶆柟娉曟潵杈懼埌鏈澶т駭鍑哄憿錛屽鉤琛$偣鍙堝湪鍝噷錛?

涓嶅垢鐨勬槸錛屽笇鏈涢噺鍖栬剳鍔涘姵鍔ㄨ呯殑浜у嚭鏄浉褰撳洶闅劇殑銆傛垜涔熷笇鏈涜兘緇欏嚭涓涓畝鍗曠殑鍏紡錛屽彧瑕佷唬鍏ュ嚑涓暟瀛楋紝灝卞彲浠ヨ綆楀緱鍑烘瘡涓漢杈懼埌鏈澶т駭鍑烘墍闇宸ヤ綔灝忔椂鏁般備絾鏄垜涓嶈兘錛屽洜涓哄嵆浣垮瓨鍦ㄨ繖鏍風殑鍏紡錛屼篃涓嶈兘灝辨壘鍒板茍浠e叆鍝簺鍩烘湰鏁版嵁杈炬垚涓鑷淬傚父瑙佽蔣浠跺害閲忔柟寮忥紝濡備唬鐮佽娉曟垨鍔熻兘鐐規硶錛岃涔堝彧鏄畝鍗曟敹闆嗘暟瀛楋紝鏃犳硶璁╀漢淇℃湇鍏朵環鍊鹼紝瑕佷箞灝辨槸鏁版嵁寰堥毦瀹氫箟鍜屾敹闆嗐傛湁鐢ㄧ殑搴﹂噺鏁版嵁錛屽閫犳垚bug鏁扮洰鍜屼慨澶峛ug鏁扮洰絳夛紝鍏跺彲淇″害涔熶笉楂橈紝騫舵湁鍙兘浼氳涓嶅叕騫沖湴鐢ㄤ簬騫村害鑰冭瘎涓婏紝涔熷彲鑳借鑱槑鐨勭▼搴忓憳鍒╃敤鏉ョ畻璁″勾緇堣冭瘎鎴栫嘩鏁堝閲戙傛灦鏋勫笀鐨勪駭鍑哄彲浠ュ緢瀹規槗鍦扮敤鏌愪簺鏁版嵁錛堝妯″瀷鎴栨灦鏋勫浘鐨勬暟閲忥級鏉ヨ 閲忥紝浣嗗悓鏍峰緢闅劇敤鍙﹀涓浜涙暟鎹紙濡備富瑙傝川閲忋佽鎰燂紝鍙婃ā鍨嬪鏉傚害錛夎 閲忋傚鏋滅敤鍙戠幇鐨勭嫭鐗筨ug鏁版潵琛¢噺嫻嬭瘯浜哄憳鐨勪駭鍑哄緢瀹規槗錛屼絾鐢ㄤ唬鐮佽鐩栫巼鏉ヨ 閲忓氨鏈夌偣鍎塊毦浜嗭紝鍋囧鐢ㄥ彂鐜扮己闄風殑鎬葷櫨鍒嗘瘮鏉ヨ 閲忓氨闅句笂鍔犻毦銆?

鎬昏岃█涔嬶紝瀵逛簬鍥㈤槦鐨勪駭鍑猴紝澶у鏁板叕鍙稿ソ璞¢櫡鍏ヤ簡涓縐?#8220;鏈灝忓叕鍒嗘瘝寮?#8221;鐨勫害閲忋傝涔堢敤娓告垙鍑哄巶鏁伴噺鍜岄攢鍞噺錛岃涔堝氨涓嶇敤銆傝櫧鐒惰繖浜涚殑紜槸澶у鏁拌偂涓滄墍鍦ㄦ剰鐨勫害閲忔暟鎹紝浣嗗浜庣敓浜х巼鐨勫害閲忓畬鍏ㄦ病鐢紝灝ゅ叾鏄瘡鏃ユ垨姣忓皬鏃剁殑鐢熶駭鏁堢巼銆?

鈼?span style="COLOR: rgb(255,0,0)"> 絎簩璇撅細瀵逛簬鑴戝姏鍔沖姩鑰咃紝鐢熶駭鏁堢巼寰堥毦閲忓寲銆?/span>

鎵浠ワ紝鎴戜滑鍙ソ鍚屽叾瀹冭涓氫腑榪涜綾繪瘮錛氫互涓嬪唴瀹規潵鑷猈ork Less Institute of Technology鍚嶄負銆奍T琛屼笟涓殑綺劇鐗╃悊瀛︺嬬殑涓綃囨枃绔狅紝鏄Ea_spouse鐨勫洖澶嶏細

“榪欐槸涓涓涓栫邯鍓嶏紝Dr. Ernst Abbe 瀵瑰痙鍥借舵嬁鐨勮敗鍙稿厜瀛﹀伐鍘傦紙Zeiss Optical Works錛夊伐浣滄椂闂翠笌浜у嚭鐨勮皟瀵熴?Dr. Abbe鏄伐鍘傜殑钁d簨錛屼粬灝嗗伐浣滄椂闂翠粠姣忔棩9灝忔椂鍑忓皯鍒?灝忔椂錛屽茍璇︾粏璁板綍浜嗚皟鏁村墠鍚庢瘡涓伐浜虹殑姣忔棩浜у嚭錛屽叾緇撴灉涓庡崄涔濅笘綰殑鍏朵粬鐮旂┒涓鑷達紝鍗抽傚綋鍑忓皯宸ヤ綔鏃墮棿紜疄鎻愰珮浜嗘諱駭鍑恒?#8221;

Tom Walker鎸囧嚭錛?

“浜у嚭鐨勫鍑忎笌宸ヤ綔鏃墮棿鐨勯暱鐭笉鎴愭姣?#8221;濂借薄鏄瘡涓浠d漢鐨勫繀淇銆?848騫磋嫳鍥借浼氶氳繃10灝忔椂宸ヤ綔娉曟錛岀粨鏋滄瘡涓漢姣忓ぉ鐨勬諱駭鍑哄鍔犱簡銆傚埌鍗佷節涓栫邯涔濆崄騫翠唬錛岄泧涓誨張騫挎硾灝濊瘯8灝忔椂宸ヤ綔鍒訛紝涓嶆柇鍙戠幇姣忎釜宸ヤ漢鐨勬諱駭鍑轟粛鍦ㄦ彁鍗囥?#8220;縐戝綆$悊鐞嗚”鍒涘浜烘嘲鍕?nbsp;錛團rederick W. Taylor錛夋寚鍑哄噺灝戝伐浣滄椂闂翠細鏄捐憲澧炲姞涓漢浜у嚭銆?

鍦ㄤ笂涓笘綰簩鍗佸勾浠o紝浜ㄥ埄?紱忕壒瀵瑰伐浣滄椂闂村畨鎺掕繘琛屼簡澶氬勾璇曢獙錛屾渶緇堝湪1926騫村紩鍏ユ瘡鍛ㄥ伐浣滀簲澶╁叡璁?0灝忔椂錛屽嵈浠樺叚澶╄柂姘寸殑宸ヤ綔鍒跺害銆傜鐗逛負浠涔堣榪欎箞鍋氬憿錛熷洜涓轟粬鐨勮瘯楠岃〃鏄庯紝鍏跺伐鍘傚湪浜斿ぉ鍐呯殑浜у嚭瑕佹瘮鍏ぉ鐨勪駭鍑鴻繕澶氥傝屽湪宸ヤ綔鍒跺彉榪佺殑姣忎竴姝ヤ笂錛?840s錛?890s鍜?920s錛夛紝鎬繪湁浜涜涓氫漢澹潥鎸佽涓猴細緙╃煭宸ヤ綔鏃墮棿浼氶檷浣庝駭鍑猴紝浣跨粡嫻庡彈鎹熴?

鈼?span style="COLOR: rgb(255,0,0)"> 絎笁璇撅細緇忚繃涓婁竴涓笘綰殑鐮旂┒琛ㄦ槑錛屾瘡鍛ㄤ簲澶╀笖姣忓ぉ8灝忔椂鐨勫伐浣滄椂闂達紝浠庨暱榪滅湅鍏朵駭鍑哄皢浼氭渶澶с傛湁浠涔堢悊鐢辮鎴戜滑璁や負錛氭垜浠繖涓涓氬彲浠ヤ笉閬靛畧榪欎釜瑙勫垯鍛紵


鐭湡鐨勪駭鍑哄張褰撳浣曪紵

濡傛灉姣忓懆40灝忔椂宸ヤ綔鍒舵槸鏀跺埌鏈澶氫駭鍑虹殑鏈浣沖伐浣滄椂闂村畨鎺掓柟寮忥紝鎴戜滑鑳藉惁鏈熷緟“鐭湡鍐呯殑寤墮暱宸ヤ綔鏃墮棿”鑳藉鏈夌煭鏈熺殑鎴愭晥錛熺畝鑰岃█涔嬶紝浠庡嚑澶╁埌鍑犱釜鏈堬紝浣犻氳繃寤墮暱宸ヤ綔鏃墮棿鑳藉寰楀埌澶氬皯棰濆鐨勪駭鍑猴紝鍙栧喅浜庝竴涓伐浣滄棩宸ヤ綔澶氶暱鏃墮棿銆?

鏄劇劧錛屽鏋滃湪鍏皬鏃跺伐浣滃埗涓嬩竴涓伐浜烘瘡灝忔椂鐢熶駭涓涓伐浠訛紝浠栧湪鍗佸叚灝忔椂宸ヤ綔鍒朵笅鐢熶駭鐨勫伐浠舵暟浼氬湪鍏埌鍗佸叚涓箣闂淬傝繖鏄殣钘忓湪“璧跺伐”鑳屽悗涓嶉偅涔堟槑鏄劇殑鏈川銆傚彟澶栵紝宸ヤ漢鐢熶駭鐜囪繕渚濊禆浜庡叾鎵澶勭姸鎬併?

涓庢瘡鍛ㄥ伐浣?0灝忔椂鐩告瘮錛屾瘡鍛ㄥ伐浣?0灝忔椂浼氬鑷寸敓浜ф晥鐜囦笅闄嶃傚垰寮濮嬫椂錛岃繖棰濆鐨?0涓皬鏃朵細寮ヨˉ鐢熶駭鏁堢巼鐨勪笅闄嶏紝浣挎諱駭鍑哄鍔犮備絾鐮旂┒琛ㄦ槑錛屽綋鏀逛負姣忓懆宸ヤ綔60灝忔椂浠ュ悗錛屽緩絳戝伐浜虹殑鐢熶駭鐜囧緢蹇氨浼氬紑濮嬩笅闄嶃傝繖縐嶄笅闄嶅緢蹇彲浠ユ劅瑙夊埌錛屼竴鍛ㄤ箣鍐呭氨浼氬緢鏄庢樉錛岃屼笖榪樺皢涓嶆柇涓嬫粦銆傚湪涓や釜鏈堝唴錛岀瘡縐敓浜у姏鐨勬崯澶變細涓嬮檷鍒頒笌姣忓懆宸ヤ綔40灝忔椂鐨勪駭鍑哄悓鏍風殑姘村鉤銆傚悓涓綃囨姤鍛婂紩璇佺殑鐮旂┒鏄劇ず鍑猴細姣忓ぉ宸ヤ綔鍏皬鏃剁殑鎬諱駭鍑轟細楂樹簬姣忓ぉ宸ヤ綔涔濆皬鏃舵諱駭鍑?6%鎴栬?0%銆?

鎵浠ワ紝娌¢敊錛?#8220;璧跺伐”鍙湪鐭湡鍐呮彁楂樹駭鍑恒備絾鍦ㄦ瘡鍛ㄥ伐浣?0灝忔椂鐨勬儏鍐典笅錛岃繖涓?#8220;鐭湡”緇濅笉鑳借秴榪囧叓涓槦鏈熴傚洜涓轟粠榪欎竴鐐瑰紑濮嬶紝鎴愭湰鑰楄垂浼氫弗閲嶈秴榪囧甫鏉ョ殑鏀剁泭銆備笉浠呬細澶卞幓璧跺伐甯︽潵鐨勬垚鏋滐紝榪樹細浣垮憳宸ユ劅鍒扮柌鍊︺佹槗鎬掋佹儏緇毦浜庢帶鍒躲傚綋鎭㈠涓烘瘡鍛ㄥ伐浣?0灝忔椂鍚庯紝榪橀渶瑕佷竴孌墊椂闂達紝浠栦滑鐨勪駭鍑烘墠鑳芥仮澶嶅埌鍘熸潵鐨勬按騫熾?

涓鍛ㄥ鏋滃伐浣?7.5灝忔椂浼氭庝箞鏍峰憿錛熻櫧鐒剁己涔忕‘鍑跨殑鏁版嵁錛屼絾鎴戜及璁℃晥鐜囧湪涓涓湀鍐呭皢璺岃嚦鍘熸潵鐨?0%錛屽嵆浣挎瘡鍛ㄩ澶栫殑47.5灝忔椂宸ヤ綔錛堜袱鍊嶄簬"姝e父"宸ヤ綔鏃墮棿錛夊湪鏈鍒濋樁孌靛彲鑳芥湁鐩稿綋楂樼殑浜у嚭銆?

鈼?nbsp;絎洓璇撅細姣忔槦鏈熷伐浣?0灝忔椂鐨勬儏鍐典笅錛岀敱浜庨暱鏃墮棿宸ヤ綔鎵瀵艱嚧鐨勭敓浜х巼涓嬮檷錛屼細鎶墊秷鍑犱釜鏈堣秴鏃跺伐浣滄墍甯︽潵鐨勪駭鍑恒?/span>

鐫$湢鍥犵礌

鍦ㄨ瘎浼?#8220;璧跺伐”鏄惁鏈夌敤鏃訛紝榪樿鑰冭檻鍙︿竴涓洜绱狅細濡傛灉宸ヤ漢娌℃湁瓚沖鐨勭潯鐪狅紝浠栦滑鑳戒繚鎸侀珮浜у闀挎椂闂達紵

Gregory Belenky涓婃牎鏄疻alter Reed 鍐涢槦鐮旂┒鎵紲炵粡綺劇縐戠殑涓諱換銆備粬鏇句負浜旇澶фゼ鐮旂┒濡備綍浣垮+鍏靛湪鎴樻枟鏉′歡涓嬫渶澶у寲鍏舵晥鐜囧拰璀︽儠鎬с傚湪鍏?997騫寸殑璁烘枃銆婃寔緇綔鎴樹腑鐫$湢銆佸墺澶虹潯鐪犱笌浜轟綋鐨勮〃鐜般嬩腑錛屼粬鎸囧嚭錛?

“瀹為獙瀹ゅ唴鐮旂┒琛ㄦ槑錛屾瘡榪炵畫淇濇寔娓呴啋24灝忔椂錛岀鏅哄姛鑳戒笅闄?5%銆傝鍓ュず鐫$湢鐨勪釜浣撹櫧鐒惰兘澶熶繚鎸佽鐭ユ椿鍔ㄧ殑鍑嗙‘鎬э紝浣嗘槸鍙嶅簲閫熷害鏄庢樉涓嬮檷銆?#8221;

鍦ㄦ垜浠殑鐮旂┒涓紝鏉ヨ嚜絎?2絀洪檷鍏靛洟鐐伀鎸囩ず涓績鐨勫洟闃熸帴鍙椾簡妯℃嫙鎸佺畫鎴樻枟鐘舵佺殑嫻嬭瘯錛屽叡鎸佺畫浜?6灝忔椂銆傚湪嫻嬭瘯寮濮嬮樁孌碉紝褰撴垜浠姹傚悜涓鎵鍖婚櫌榪涜妯℃嫙寮鐏椂錛屽洟闃熻繕鑳芥煡鐪嬫柟浣嶅浘錛岃瘎浼扮洰鏍囩姸鍐碉紝鎷掔粷寮鐏姹傘傚埌妯℃嫙嫻嬭瘯鍚庢湡錛屼粬浠氨鏃犺鐩爣鎬ц川姣笉鐘硅鮑鍦板紑鐏簡銆?

鍦ㄨ繘琛屾ā鎷熸紨涔犵殑絎?5澶╋紝姣忔櫄鐫″洓灝忔椂鐨勭偖鍏佃繛鐨勬垚緇╀粎鏄瘡鏅氱潯涓冨皬鏃剁殑鐐叺榪炵殑涓夊垎涔嬩竴銆?

鈼?span style="COLOR: rgb(255,0,0)"> 絎簲璇撅細姣忚繛緇伐浣?4灝忔椂錛岃鐭ヨ兘鍔涗細涓嬮檷25%銆傝繛緇紑澶滆濺鐨勪漢浼氫駭鐢熶弗閲嶇殑绱Н褰卞搷銆?/span>

璁ょ煡榪熼挐涓庨敊璇巼

“璧跺伐”寮曡搗鐢熶駭鐜囦笅闄嶇殑閲嶈鍥犵礌涔嬩竴灝辨槸浜х敓閿欒鏁伴噺鐨勫鍔犮傚敖綆″ぇ澶氭暟閿欒寰堝鏄撲慨澶嶏紝浣嗚繕鏄湁涓浜涢敊璇細鎶婁粠“璧跺伐”涓緱鍒扮殑鏀剁泭娑堣楁畣灝姐?#8220;璧跺伐”鏃墮棿瓚婇暱錛岀浉鍏充漢鍛橀亣鍒板ぇ楹葷儲鐨勬満浼氬氨瓚婂ぇ銆?

紼嬪簭鍛樸佹灦鏋勫笀鍜屾祴璇曚漢鍛樿兘澶熸嬁鍒拌柂姘達紝涓嶆槸鐢變簬浠栦滑鎷ユ湁鍙戣揪鐨勮倢鑲夋垨鑰呬粈涔堣秴鑳藉姏鑳芥妸閲嶇墿浠庝竴鐐圭Щ鍒板彟涓鐐癸紝鑰屾槸鍥犱負浠栦滑鐨勫ぇ鑴戙傚伐浣滄椂闂磋秺闀匡紝鎴栬呯己涔忓厖瓚崇殑鐫$湢錛堝ソ姣旀瘡鏅氬彧鐫?锝?灝忔椂錛変細澶уぇ闄嶄綆浠栦滑浣跨敤澶ц剳鐨勬晥鐜囥?

Belenky涓婃牎鎸囧嚭錛氬+鍏靛嵆浣挎瘡澶╀粎灝戠潯涓涓皬鏃訛紝鍚庢灉鏄?#8220;鍑忓皯浜?#8230;…淇濇寔娓呴啋鍦拌繘琛岄珮鏉$悊鎬ц剳鍔涘伐浣滅殑鑳藉姏銆傞檷浣庝簡涓綋鍜屽洟闃熺殑鏁堢巼”銆?

鐭ヨ瘑宸ヤ綔鑰呭簲璇ユ劅鍒板垢榪愪粬浠笉蹇呮媴蹇冨彂鐢?#8220;鍙嬪啗璇激”鐨勯棶棰樸?

鍦ㄣ婃寔緇噺灝戠潯鐪犱細浜х敓涓ラ噸鎭跺姡鍚庢灉銆嬩竴鏂囦腑鎻愬埌錛?

“瀹懼娉曞凹浜氬ぇ瀛︾殑鐮旂┒浜哄憳鍙戠幇錛氳繛緇崄鍥涘ぉ鍐呮瘡澶╁彧鐫?鑷?灝忔椂鐨勭爺絀跺璞″湪璁ょ煡琛ㄧ幇鏂歸潰鏄劇ず鍑烘槑鏄句笉瓚籌紝鍏舵按騫崇浉褰撲簬榪炵畫涓夊ぉ涓嶇潯瑙夌殑浜恒傜劧鑰岋紝榪欎簺鐮旂┒瀵硅薄鍗磋鑷繁鍙劅瑙夋湁鐐瑰効鍥幫紝騫舵病鏈夋剰璇嗗埌浠栦滑鐨勭姸鍐墊湁澶氱碂銆?#8221;

鍦?005騫?鏈堢殑銆婃礇鏉夌煻鏃舵姤銆嬩笂錛孠aren Kaplan鏈変竴綃囧悕涓恒婄瀸鐫$殑鍖誨闄㈠疄涔犵敓鎴愪負椹礬鏉鎵嬨嬬殑鏂囩珷錛?

“鐮旂┒琛ㄦ槑錛屽湪21涓皬鏃跺唴娌℃湁鐫$湢鐨勫徃鏈猴紝鍏剁姸鎬佺浉褰撲簬琛娑插唴閰掔簿鍚噺媯嫻嬭揪鍒?.08鐨勪漢錛岃?.08鏄編鍥藉闈炶惀鍒╂ч┚椹跺徃鏈鴻繘琛岃娑插唴閰掔簿鍚噺媯嫻嬫槸鍚﹁秴鏍囩殑娉曞畾鐣岄檺銆?#8221;

浠や漢鎰熷埌璁藉埡鐨勬槸錛屽ぇ澶氭暟杞歡鍏徃浼氳В闆囦竴涓伐浣滄椂闂村枬閰掔殑浜猴紝鍗磋兘姣笉鐘硅鮑鍦板皢浠婂勾鏈閲嶈鐨勯」鐩氦鍒扮敱浜庣己灝戠潯鐪狅紙鐩稿綋浜庤揪鍒版硶瀹氬徃鏈洪厭綺懼惈閲忚秴鏍囨爣鍑嗭級鐨勪漢鎵嬮噷銆備簨瀹炰笂錛屾槸浠栦滑瑕佹眰榪欎簺浜哄湪“榪濇硶閱夐厭鐘舵?#8221;榪涜宸ヤ綔鐨勶紝騫朵互姝や綔涓洪泧鍛樿緇х畫闆囦劍鐨勬潯浠躲?

甯︽潵鐨勯闄╁緢鐜板疄鈥斿紩鍙戠殑閿欒鐪熻兘瀵艱嚧鐏鵑毦鍙戠敓銆傚湪Dr. William Dement鍐欑殑銆婄潯鐪犵殑鎵胯銆嬩竴涔﹀啓閬擄細

“1989 騫?鏈?4鏃ョ殑澶滄櫄娓呭喎瀹侀潤錛岀┖姘斿姘存櫠鑸忔槑銆傚焹鍏嬫.鐭蟲補鍏徃鐨勬補杞寮浜嗛樋鎷夋柉鍔犵殑鐡﹀皵榪吂甯傦紝椹跺悜濞佸粔鐜嬪瓙嫻鋒咕銆傚湪濡傛娓呮緢鐨勬皵鍊欐潯浠朵笅錛屾補杞寜鍘熻鍒掓斁涓嬩簡杈撴補綆¢亾錛屽嵈娌℃湁鍙婃椂鏀跺洖銆傚法澶х殑娌硅疆鎼佹祬錛屾暟鐧句竾鍔犱粦鐨勫師娌規硠婕忓埌嫻鋒咕涔嬩腑銆?#8230;…鍦ㄦ渶鍚庣殑鎶ュ憡涓紝鍥藉榪愯緭瀹夊叏濮斿憳浼?nbsp;(NTSB)鍙戠幇錛岀己灝戠潯鐪犳槸浜嬩歡鐨勭洿鎺ュ師鍥犮?#8230;…瀵艱嚧緹庡浗鍘嗗彶涓婃渶涓ラ噸鐨勬紡娌逛簨浠剁殑鐩存帴璐d換浜烘槸鑸逛笂鐨勪笁鍓紝浠栧湪浜嬪彂鍓?8灝忔椂鍐呬粎鐫?涓皬鏃訛紝鐫$湢涓ラ噸涓嶈凍銆?#8221;

緗楁澃鏂皟鏌ュ鍛樹細錛圧ogers Commission錛夊湪鍏充簬緹庡浗鎸戞垬鑰呭彿鑸ぉ椋炴満澶變簨鍒嗘瀽鏈緇堟姤鍛婁腑璇達細鍦ㄥ叧閿椂鍒葷殑鐢佃瘽浼氳涓婏紝鍋氬嚭鍙戝皠鍐崇瓥鏄湁闂鐨勩傚湪“浜轟負鍥犵礌鍒嗘瀽”绔犺妭鎻愬埌鐫$湢緙轟箯“瀵規鏈夐噸澶у獎鍝?#8221;銆?

濡傛灉鐢變簬緙轟箯鐫$湢鍙互瀵艱嚧鎴樻枟澶卞埄錛屽嵄瀹崇梾浜猴紝鎼佹祬娌硅疆錛屽紩鐖嗗お絀洪鑸癸紱浠旂粏鎯蟲兂榪欎細涓轟環鍊間竴鍗冧簲鐧句竾緹庨噾鐨勬父鎴忛」鐩甫鏉ヤ粈涔堬紵

鈼?nbsp;絎叚璇撅細閿欒鐜囦細闅忚繛緇伐浣滄椂闂磋屾攢鍗囷紝灝ゅ叾鏄潯鐪犳椂闂翠笉瓚崇殑鎯呭喌涓嬨傛渶緇堬紝澶辮觸浼氭壘涓婇棬鏉ワ紝瀵艱嚧鐏鵑毦鍙戠敓銆傚綋鏃墮棿绱т笖棰勭畻鎶曞叆澶ф椂錛屼綘鐪熻兘鎵挎媴寰楄搗榪欎釜椋庨櫓鍚楋紵

榪欐剰鍛崇潃浠涔堬紵

鎰忓懗鐫鐢熶駭鐜囦笅闄嶃傚湪淇濇寔姣忓懆浜斿ぉ鍏辯害40灝忔椂宸ヤ綔鏃墮棿鐨勬儏鍐典笅錛屽伐浜哄彲浠ョ淮鎸佺敓浜х巼銆傚伐浣滄洿闀挎椂闂達紝鐢熶駭鐜囧紑濮嬩笅闄嶃傚湪鍥涘ぉ鍜屼袱涓湀涔嬮棿鏌愪釜鏃墮棿鐐逛笂錛屼粠鍔犵彮宸ヤ綔涓緱鍒扮殑鏀剁泭浼氳灝忔椂鐢熶駭鐜囦笅闄嶆墍鎶墊秷銆傚湪鏌愪簺鏋佺鎯呭喌涓嬶紙褰撳伐浜烘棤娉曚繚璇佹瘡鏅氳嚦灝?鍒?灝忔椂鐫$湢鐨勭姸鍐典笅錛屼竴鍒頒袱澶╀箣鍐咃級錛屾晥鐜囦細鐩寸嚎涓嬮檷銆?

涓婇潰鐨勭爺絀跺唴瀹瑰緢澶氶兘鏄潵鑷簬宸ヤ笟浜т笟鐜錛屽彲鑳芥湁浜轟細璁や負榪欎簺緇撹涓嶉傜敤閭d簺鏇村鍦頒嬌鐢ㄨ剳鍔涚殑紼嬪簭鍛樸佹灦鏋勫笀鍜屾祴璇曚漢鍛樿韓涓婏紝鍥犱負浠栦滑涓庢櫘閫氱殑浣撳姏鍔沖姩鑰呬笉鍚屻備簨瀹炰笂錛岀殑紜笉鍚岋紝Belenky涓婃牎鏄庣‘琛ㄧず錛?nbsp;

“涓庡鏉傜殑鑴戝姏媧誨姩鐩告瘮錛屽彲浠ヨ錛岀畝鍗曠殑蹇冪悊媧誨姩銆佷綋鍔涘姵鍔ㄥ拰鑰愬姏鍩烘湰涓嶅彈緙轟箯鐫$湢鐨勫獎鍝嶃?#8221;

闇瑕佸畬鎴愬鏉備換鍔$殑鑴戝姏鍔沖姩鑰呭彈鐫$湢緙轟箯褰卞搷姣斾綋鍔涘姵鍔ㄨ呮洿鏄庢樉錛岀敓浜х巼涓嬮檷寰楁洿蹇傚湪鐭ヨ瘑宸ヤ綔鑰呬腑錛岀敱浜庤繃搴﹀伐浣滆屽鑷寸殑鐢熶駭鐜囨崯澶變細姣旀櫘閫氬+鍏墊洿鏃╂洿蹇紝鍥犱負鎴戜滑鐨勫伐浣滄洿鍙楄剳鍔涚柌涔忕殑褰卞搷銆?

Ea_spouse鎯沖憡璇夋垜浠紝濂硅佸叕鎵鍦ㄥ洟闃熺殑宸ヤ綔鏁堢巼榪滆繙浣庝簬鏈浣蟲晥鐜囥傚湪鑰佹澘璁╀粬浠繘琛屾瘡鍛?7.5灝忔椂鐨勮秴綰?#8220;璧跺伐”涔嬪墠錛屾瘡鍛ㄥ伐浣?0灝忔椂浠ヤ笂鐨勭姸鎬佸氨宸叉寔緇嚑涓湀浜嗐?

浜屽崄涓栫邯錛屽湪澶ч儴鍒嗙殑鏃墮棿銆佸湴鐐瑰拰琛屼笟涓紝璁╂墜涓嬮泧鍛樿繖鏍峰伐浣滅殑綆$悊鑰呭氨琚涓烘槸涓嶈兘鑳滀換鍏跺伐浣溿傝繖涓嶅彧鏄洜涓轟粬浠▉鑳佸埌浜嗚壇濂界殑闆囦劍鍏崇郴錛岃繕鐢變簬浠栦滑鐨勯敊璇鐞嗘柟寮忓皢鍏徃鐨勭敓浜у姏鍜岃祫浜ц嚦浜庡嵄闄╁鍦般?

涓鐧懼騫寸殑涓氱晫鐮旂┒宸茬粡姣嬪焊緗枒鍦拌瘉鏄庯細鍛樺伐鍥犵簿鐤插姏灝芥墍浜х敓鐨勯敊璇細鎺ㄨ繜璁″垝錛屾崯鍧忚澶囷紝澧炲姞鎴愭湰錛岄檷浣庝駭鍝佽川閲忥紝鏈緇堝▉鑳佺粍緇囩殑鐢熷瓨銆傝繖鏄欏圭洰鐨勫▉鑳侊紝涔熸槸瀵瑰叾綆$悊鑰呫侀泧涓匯佹瘡涓漢錛屼互鍙婂叾鑷韓鐨勫▉鑳併?

鏃犺濡備綍錛?nbsp;灝?#8220;璧跺伐”鐢ㄤ綔闀挎湡絳栫暐錛屽湪緇忔祹涓婃槸涓嶅彲琛岀殑銆傚歡鏃跺伐浣滀笉鑳藉鍔犱駭鍑猴紝闄ら潪鏄煭鏈熻涓恒傚彟澶栵紝“璧跺伐”涔熶笉鑳戒嬌浜у搧鏇村揩鎺ㄥ嚭錛屽彧浼氬鑷翠駭鍝佸歡榪熷彂甯冦?#8220;璧跺伐”涓嶈兘鎻愰珮浜у搧璐ㄩ噺錛屽彧鑳戒嬌鍏舵洿緋熺硶銆?#8220;璧跺伐”澧炲姞浜嗗紩鍙戦噸澶ч敊璇殑鏈轟細錛屾瘮濡備氦浠樹細鎿﹂櫎瀹㈡埛紜洏鏁版嵁鐨勮蔣浠訛紝鎴栬呭垹闄や唬鐮佹爲錛屾垨鑰呮妸鍙箰媧掑埌鏈榪戞病鏈夊仛榪囧浠界殑鏈嶅姟鍣ㄤ腑錛岀敋鑷沖紩璧風伀鐏俱傜殑紜槸榪欐牱錛屽湪“璧跺伐”鏈鍚庨偅浜涚潯鐪兼兒蹇殑鏃ュ瓙閲岋紝鎴戞浘浜茬溂鐩澒榪囧墠涓変釜鍚庢灉銆傜鍥涗釜鍚庢灉榪熸棭浼氬彂鐢燂紝澶ф鍙槸鏃墮棿涓婄殑闂銆?

綆$悊鑰呭喅瀹氳刀宸ワ紝鏄洜涓轟粬浠兂鍛婅瘔浠栦滑鐨勮佹澘“鎴戝凡灝芥垜鎵鑳?#8221;銆備粬浠刀宸ワ紝鏄洜涓轟粬浠瘎浼扮殑鏄斁鍦ㄦ瀛愪笂鐨?#8220;鑽変漢”鑰屼笉鏄偅浜涜兘寮鍙戞父鎴忕殑“澶?nbsp;鑴?#8221;銆備粬浠刀宸ワ紝鏄洜涓轟粬浠病鏈夎鐪熻冭檻瑕佸仛鐨勫伐浣滐紝鎴栨病鏈夎冭檻鍋氬伐浣滅殑鏄漢銆備粬浠刀宸ワ紝鏄洜涓哄彧鐭ラ亾瑕佽〃鐜板嚭鑷繁鍦ㄥ敖鍔涘仛濂藉伐浣滅殑閲嶈鎬э紝鑰屼笉鏄湡姝e幓鎶婂伐浣滃仛濂姐備粬浠刀宸ワ紝鏄洜涓轟粬浠洖鎯沖埌褰撲粬浠繕鏄▼搴忓憳銆佹祴璇曚漢鍛樸?#8220;鍔╃悊鍒剁墖浜?#8221;鎴?#8220;鍓埗鐗囦漢”鏃訛紝浠栦滑涔熸槸琚姹傝繖鏍峰仛鐨勩?

浣嗚繖涓嶆槸鍞竴鐨勬柟娉曘備簨瀹炰笂錛屽緢澶氭枃鐚竴嬈″張涓嬈″湴琛ㄦ槑錛氬姞鐝刀宸ユ槸鏈宸殑鏂瑰紡銆傝繖涔熸槸寰堝琛屼笟涓冨崄浜斿勾鍓嶅氨宸叉斁寮冭繖縐嶅伐浣滄柟寮忕殑鏍規湰鍘熷洜銆傜鐞嗚呫佽偂涓滃拰鍛樺伐閮藉潥淇★細浣跨敤緇忚繃鏃墮棿媯楠岀殑鈥斺旀瘡澶╁伐浣?灝忔椂銆佹瘡鍛?澶┾斺旂鐞嗗疄璺碉紝澶у浼氬洜鏇村揩銆佹洿鐪佸湴浜や粯鏇村ソ鐨勪駭鍝佽岃幏鐩婏紝鑰屼笖涓嶄細鎹熻楃粍緇囩殑浜哄姏璧勬簮鍜屽湪鍏紬涓殑澹版湜銆?

]]>
姝e垯琛ㄨ揪寮忓拰boost涓簲鐢?/title><link>http://m.shnenglu.com/kenlistian/archive/2008/04/29/48404.html</link><dc:creator>kenlistian</dc:creator><author>kenlistian</author><pubDate>Tue, 29 Apr 2008 03:26:00 GMT</pubDate><guid>http://m.shnenglu.com/kenlistian/archive/2008/04/29/48404.html</guid><wfw:comment>http://m.shnenglu.com/kenlistian/comments/48404.html</wfw:comment><comments>http://m.shnenglu.com/kenlistian/archive/2008/04/29/48404.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/kenlistian/comments/commentRss/48404.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/kenlistian/services/trackbacks/48404.html</trackback:ping><description><![CDATA[<p>1.姝e垯琛ㄨ揪寮忕瑪璁?<p>蹇呴』璁頒綇鐨勫嚑涓鍙峰拰緇勫悎<br>.        鍖歸厤闄ゆ崲琛岀浠ュ鐨勬墍鏈夊瓧絎︿竴嬈?br>?        鍖歸厤 0 嬈℃垨涓嬈?br>*        鍖歸厤 0 嬈℃垨澶氭<br>+        鍖歸厤 1 嬈℃垨澶氭 <p>               浣跨敤鑼冧緥錛?/p>                x?        鍖歸厤 0 嬈℃垨涓嬈?x 瀛楃涓?br>                x*        鍖歸厤 0 嬈℃垨澶氭 x 瀛楃涓詫紝浣嗗尮閰嶅彲鑳界殑鏈灝戞鏁幫紝*蹇呴』璺熼殢涓涓瓧絎﹀悗闈紝涓嶈兘鍗曠嫭鍑虹幇<br>                x+        鍖歸厤 1 嬈℃垨澶氭 x 瀛楃涓詫紝浣嗗尮閰嶅彲鑳界殑鏈灝戞鏁幫紝+蹇呴』璺熼殢涓涓瓧絎﹀悗闈紝涓嶈兘鍗曠嫭鍑虹幇<br>                .*        鍖歸厤 0 嬈℃垨涓嬈$殑浠諱綍瀛楃<br>                .+        鍖歸厤 1 嬈℃垨澶氭鐨勪換浣曞瓧絎?br> <p>鐣屽畾鑼冨洿鍜屼綅緗?br>^        鍖歸厤瀛楃寮澶寸殑瀛楃<br>$         鍖歸厤瀛楃緇撳熬鐨勫瓧絎?br>{m}          鍖歸厤鍒氬ソ鏄?m 涓?鐨勬寚瀹氬瓧絎︿覆<br>{m,n}        鍖歸厤鍦?m涓?浠ヤ笂 n涓?浠ヤ笅 鐨勬寚瀹氬瓧絎︿覆<br>{m,}          鍖歸厤 m涓?浠ヤ笂 鐨勬寚瀹氬瓧絎︿覆<br>[]           鍖歸厤絎﹀悎 [] 鍐呯殑瀛楃<br>[^]         鍖歸厤涓嶇鍚?[] 鍐呯殑瀛楃<br>[0-9]         鍖歸厤鎵鏈夋暟瀛楀瓧絎?br>[a-z]        鍖歸厤鎵鏈夊皬鍐欏瓧姣嶅瓧絎?br>[^0-9]        鍖歸厤鎵鏈夐潪鏁板瓧瀛楃<br>[^a-z]        鍖歸厤鎵鏈夐潪灝忓啓瀛楁瘝瀛楃<br><br>\b         鍖歸厤浠ヨ嫳鏂囧瓧姣?鏁板瓧涓鴻竟鐣岀殑瀛楃涓?<br>\d         鍖歸厤涓涓暟瀛楃殑瀛楃錛屽拰 [0-9] 璇硶涓鏍?br>\w        鑻辨枃瀛楁瘝鎴栨暟瀛楃殑瀛楃涓詫紝鍜?[a-zA-Z0-9] 璇硶涓鏍?br>\s         絀烘牸錛屽拰 [\n\t\r\f] 璇硶涓鏍?br>\B         鍖歸厤涓嶄互鑻辨枃瀛楁瘝,鏁板間負杈圭晫鐨勫瓧絎︿覆<br>\D         闈炴暟瀛楋紝鍏朵粬鍚?\d<br>\S         闈炵┖鏍鹼紝鍜?[^\n\t\r\f] 璇硶涓鏍?br>\W        闈炶嫳鏂囧瓧姣嶆垨鏁板瓧鐨勫瓧絎︿覆錛屽拰 [^a-zA-Z0-9] 璇硶涓鏍?br><br>a|b|c       鍖歸厤絎﹀悎a瀛楃 鎴栨槸b瀛楃 鎴栨槸c瀛楃 鐨勫瓧絎︿覆<br>abc         鍖歸厤鍚湁 abc 鐨勫瓧絎︿覆<br>杞箟錛?nbsp;     浣跨敤\ 鏉ュ彇娑堝厓瀛楃鐨勭壒孌婃剰涔夈傚寘鎷?. * + \  [ ] { } ( ) ^ $</p> <p><br>錛熺殑澶氶噸瀹氫箟-鎳掓儼闄愬畾絎?br>*?    閲嶅浠繪剰嬈★紝浣嗗敖鍙兘灝戦噸澶?br>+?    閲嶅1嬈℃垨鏇村嬈★紝浣嗗敖鍙兘灝戦噸澶?br>??    閲嶅0嬈℃垨1嬈★紝浣嗗敖鍙兘灝戦噸澶?br>{n,m}?    閲嶅n鍒癿嬈★紝浣嗗敖鍙兘灝戦噸澶?br>{n,}?    閲嶅n嬈′互涓婏紝浣嗗敖鍙兘灝戦噸澶? <p><br>鏂█鍖歸厤錛?鏈?涓?<p>(?=exp)   闆跺鍏堣鏂█錛屽畠鍖歸厤鏂囨湰涓殑鏌愪簺浣嶇疆錛岃繖浜涗綅緗殑鍚庨潰鑳藉尮閰嶇粰瀹氱殑鍚庣紑exp銆?br>             姣斿/b/w+(?=ing/b)錛屽尮閰嶄互ing緇撳熬鐨勫崟璇嶇殑鍓嶉潰閮ㄥ垎(闄や簡ing浠ュ鐨勯儴鍒?錛?br><font color="#800080">              zc:鏍規嵁鍚庣紑鍖歸厤鑰屽凡銆傚拰$鍖哄埆鍦ㄤ簬$鏄灝懼尮閰嶃?/font><br>              濡侷'm singing while you're dancing.  瀹冧細鍖歸厤sing鍜宒anc銆? <p>(?<=exp)  闆跺鍚庤鏂█錛屽畠鍖歸厤鏂囨湰涓殑鏌愪簺浣嶇疆錛岃繖浜涗綅緗殑鍓嶉潰鑳界粰瀹氱殑鍓嶇紑鍖歸厤exp銆?<br>               濡??<=\bre)\w+\b浼氬尮閰嶄互re寮澶寸殑鍗曡瘝鐨勫悗鍗婇儴鍒?闄や簡re浠ュ鐨勯儴鍒?錛?br>               <font color="#800080">zc:鍖歸厤鍓嶇紑銆?/font><br>                渚嬪鍦ㄦ煡鎵緍eading a book鏃訛紝瀹冨尮閰峚ding銆? <p>(?!exp)    闆跺璐熷悜鍏堣鏂█銆備細鍖歸厤鍚庣紑exp涓嶅瓨鍦ㄧ殑浣嶇疆銆?br>           <font color="#800080">   zc: 鑻ヤ笉鏄痚xp鎴栬呮病鏈夊垯鍖歸厤錛岀敤^鍦ㄤ簬瀛樺湪涓涓笉鍖歸厤鏌愪釜exp鐨勫叾浠栧瓧絎︼紝鑰岋紒淇濊瘉涓嶅尮閰峞xp澶栧彲浠ヤ笉璺熶換浣曞瓧絎︺?br>              </font> 濡傦細\d{3}(?!\d)鍖歸厤涓変綅鏁板瓧錛岃屼笖榪欎笁浣嶆暟瀛楃殑鍚庨潰涓嶈兘鏄暟瀛椼?涔熷彲浠ユ槸鍙湁鍓?浣嶆暟瀛椼傛瘮杈僜d{3}(^\d)鏈夊尯鍒? <p>(?<!exp)   闆跺璐熷悜鍚庤鏂█銆傛煡鎵懼墠緙exp涓嶅瓨鍦ㄧ殑浣嶇疆.<br></p> <p>鏉′歡鍖歸厤錛?<font color="#800080">(zc:榪欎釜澶嶆潅錛屼絾涔熶笉澶嶆潅銆傚睘浜巔erl涓殑鎵╁睍閮ㄥ垎錛岀暐錛?/font> <p>Conditional Expressions <p>(?(condition)yes-pattern|no-pattern) <br>   attempts to match yes-pattern if the condition is true, otherwise attempts to match no-pattern. <p>(?(condition)yes-pattern) attempts to match yes-pattern if the condition is true, otherwise fails. <p>condition may be either a forward lookahead assert, or the index of a marked sub-expression <br>(the condition becomes true if the sub-expression has been matched). <p>  <p>  <p>2. boost涓垎鏈塵atch錛宻earch錛宺eplace錛屽湪vc涓紝鍏舵鍒欒〃杈懼紡浠ヤ笂\琛ㄧず闇瑕佸弻鍙嶆枩鏉犺〃紺恒傚叾涓湪 <p>match鏄尮閰嶆暣涓彞瀛愶紝鍦ㄥ疄闄呭簲鐢ㄤ腑錛屽繀欏繪槸鏋勯犳暣涓彞瀛愮殑姝e垯琛ㄨ揪錛岃屽湪涓綃囨枃绔犲尮閰嶇殑璇濓紝浠earch鐢ㄧ殑 <p>姣旇緝澶氾紝濡備笅瑙佷竴涓墖孌點傛病鏈夌敤鍒皊td錛屽彲瑙佺敤boost鍦ㄥ尮閰嶆煡璇㈡椂錛屽叾姣旇緝楹葷儲錛?<p>void test123()<br>{       <br>    CString str = "singing while youre dancing."; <br>    regex ee_all("\\b\\w+\\b");<br>    cmatch result;<br>    CString ret;<br>    while(regex_search(str, result, ee_all,match_perl)){            <br>        for(int i=0; i < result.size(); i++){            <br>            ret = result[i].str().c_str();<br>            AfxMessageBox(ret);                <br>            str = result[i].second;<br>        }            <br>    }    <br>} <img src ="http://m.shnenglu.com/kenlistian/aggbug/48404.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/kenlistian/" target="_blank">kenlistian</a> 2008-04-29 11:26 <a href="http://m.shnenglu.com/kenlistian/archive/2008/04/29/48404.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>EnBase64 and DeBase64 codehttp://m.shnenglu.com/kenlistian/archive/2008/04/23/47892.htmlkenlistiankenlistianWed, 23 Apr 2008 04:06:00 GMThttp://m.shnenglu.com/kenlistian/archive/2008/04/23/47892.htmlhttp://m.shnenglu.com/kenlistian/comments/47892.htmlhttp://m.shnenglu.com/kenlistian/archive/2008/04/23/47892.html#Feedback0http://m.shnenglu.com/kenlistian/comments/commentRss/47892.htmlhttp://m.shnenglu.com/kenlistian/services/trackbacks/47892.html闃呰鍏ㄦ枃

]]>
瀹夎boots搴撲腑regex 澶囪http://m.shnenglu.com/kenlistian/archive/2008/04/22/47824.htmlkenlistiankenlistianTue, 22 Apr 2008 08:40:00 GMThttp://m.shnenglu.com/kenlistian/archive/2008/04/22/47824.htmlhttp://m.shnenglu.com/kenlistian/comments/47824.htmlhttp://m.shnenglu.com/kenlistian/archive/2008/04/22/47824.html#Feedback0http://m.shnenglu.com/kenlistian/comments/commentRss/47824.htmlhttp://m.shnenglu.com/kenlistian/services/trackbacks/47824.html1.榪欓噷涓嬭澆boots錛?a title="http://downloads.sourceforge.net" >http://downloads.sourceforge.net錛屾垜涓嬭澆鐨勬槸boost_1_35_0.zip錛岄摼鎺ュ涓嬶細

    http://downloads.sourceforge.net/boost/boost_1_35_0.zip?modtime=1206795434&big_mirror=0

2.瑙e帇鍚庢墦寮鐩綍

    \boost_1_35_0\boost_1_35_0\libs\regex\build緙栬瘧vc6涓嬬増鏈瑅c6.mak鏂囦歡錛屽叿浣撳涓嬶細

    a銆傛墦寮dos鐜錛屾妸vc6鐩綍涓殑Microsoft Visual Studio\VC98\Bin涓嬬殑VCVARS32.BAT鎷栧叆dos紿楀仛鐜璁劇疆銆?/p>

    b銆傝繍琛宯amke -f vc6.mak銆?/p>

    c銆傛妸鐢熸垚鐨刣ll鍜宭ib鏀懼湪鑷繁鐨勭洰褰曚腑錛屾渶濂藉湪vc6鐨剉c98涓嬪緩涓涓洰褰曪紝姣曠珶鏄痸c6涓嬬殑緙栬瘧鐮併傜劧鍚庡湪vc6涓緗寘鍚玪ib file銆?/p>

       鏂囦歡include鍖呭惈鐩綍 boost_1_35_0\boost_1_35_0\boost_1_35_0

3.嫻嬭瘯,綺樿創鍒皏c涓洿鎺ョ紪璇戙?/p>

濡傛灉緙栬瘧鍑虹幇minimal builder涓嶆敮鎸佺殑璇濓紝鍒欏幓鎺塻et涓殑minimal builder鍕鵑夈?/p>

榪樻湁鑻ュ嚭鐜扮被浼糵atal error C1001: INTERNAL COMPILER ERROR閿欒鐨勮瘽錛屽垯閲囩敤rebuilder鏉ラ噸寤猴紝涓鑸槸鍙互閫氳繃銆?/p>

涓哄暐涓轟粈涔堝嚭鐜拌繖涓唴閮ㄧ紪璇戦敊璇紝鍊掍笉娓呮銆備笉榪囷紝涓嶅獎鍝峷c涓嬬殑姝e垯澶勭悊浣跨敤鏆傛椂涓嶇浜嗐?/p>

#include "stdafx.h"
#include <boost/regex.hpp>
#include <string>
#include <iostream>

using namespace std;
using namespace boost;

regex ee("a+b");

int main()
{
    string str = "aaaaaaab";
    if(regex_match(str.c_str(), ee))
    {
      cout<<"match ok"<<endl;
    }
    getchar();
    return 0;
}

 

澶囨敞鍘熸枃錛?a title="http://dotnet.csdn.net/page/66e7a1c1-981e-4609-93fc-a3c34a6a5308" >http://dotnet.csdn.net/page/66e7a1c1-981e-4609-93fc-a3c34a6a5308



]]>
閫氱敤鎻掍歡紼嬪簭鍐欐硶http://m.shnenglu.com/kenlistian/archive/2008/04/21/47753.htmlkenlistiankenlistianMon, 21 Apr 2008 10:54:00 GMThttp://m.shnenglu.com/kenlistian/archive/2008/04/21/47753.htmlhttp://m.shnenglu.com/kenlistian/comments/47753.htmlhttp://m.shnenglu.com/kenlistian/archive/2008/04/21/47753.html#Feedback2http://m.shnenglu.com/kenlistian/comments/commentRss/47753.htmlhttp://m.shnenglu.com/kenlistian/services/trackbacks/47753.html  鍏跺疄錛屾彃浠朵笉榪囧氨鏄皟鐢╠ll涓殑鍑芥暟鑰屽凡錛屼笉榪囬氳繃綾諱技涓涓猚om涓殑鎺ュ彛錛屽啀閫氳繃鎺ュ彛鏌ヨ鍒扮浉搴旂殑鏈嶅姟鏉ュ鐞嗐?/p>

澶嶆潅鐨勬彃浠訛紝褰撶劧鏈夎冭檻閲囩敤com鏂瑰紡鐨勶紝涓嶈繃浣滀負緙栧啓紼嬪簭鐨勫師鍒欐槸綆鍗曪紝瀹炴晥錛岄氱敤銆傚張浣曢』閲囩敤澶繃涓撲笟鐨勬柟娉曘?/p>

鎶鏈笉榪囨槸鎵嬫錛岃兘鍦ㄨ揪鍒扮洰鐨勭殑鏈澶у寲紼嬪害涓婂疄鐜幫紝灝辮凍鐭c?/p>

  涓嬮潰鐨勪緥瀛愭潵鑷綉涓婏紝浣滆呬笉璇︼紝紼嶅井鏁寸紪涓嬨傜洿鎺ヨ創浠g爜鍦ㄤ笂闈€傛簮鐮佹墦鍖呮斁鍦ㄨ嚜宸卞崥瀹㈢殑鏂囨。涓傜畻鏄嚜宸卞涔犳暣鐞嗭紝

涔熸劅璋㈡彁渚涜呫?/p>

婧愮爜瀛︿範錛歨ttp://m.shnenglu.com/Files/kenlistian/test_plus.rar

 

1.瀹氫箟鎻掍歡鐨勬帴鍙g粨鏋?/p>

/*
  瀹氫箟涓涓猵lus 鎺ュ彛緇撴瀯
*/
typedef struct PlugInModule{
    DWORD Ver ;                    //鐗堟湰
    char *Author ;                  //浣滆呰鏄?br>    char *Description;             //妯″潡璇存槑

    BYTE *InputPointer;          //杈撳叆鏁版嵁
    DWORD dwSize ;               //杈撳叆鏁版嵁鐨勫ぇ灝?br>    HWND hParentWnd ;           //涓葷▼搴忕殑鐖剁獥鍙?br>    HINSTANCE hDllInst ;          //Dll鍙ユ焺

    void (*PlugIn_Config)( struct PlugInModule * pModule ); //璁劇疆鍑芥暟
    void (*PlugIn_Init)( struct PlugInModule * pModule );    //鍒濆鍖栧嚱鏁?br>    void (*PlugIn_Quit)( struct PlugInModule * pModule );   //閫鍑哄嚱鏁?br>    void (*PlugIn_Run )( struct PlugInModule * pModule );   //鎵ц鍑芥暟
} PlugInModule;

鍏朵腑鎺ュ彛緇撴瀯鍑芥暟錛岃瑙勫畾浜?涓紝涔熷氨鏄榪欎釜鎺ュ彛鍑芥暟瀹氭浜嗭紝濡傛灉浠ュ悗搴斾負鍔熻兘澧炲姞絳夌瓑錛?/p>

鍒欎及璁¤繖涓粨鏋勯兘瑕佹敼鍐欍傛墍浠ラ噰鐢╟om鏂瑰紡鎺ュ彛鏂瑰紡鍒欐槸涓縐嶅ソ鐨勯夋嫨錛岃岄偅縐嶆ā寮忥紝姣忔榪樿娉ㄥ唽com錛?/p>

鍒欒帿鍏嶉夯鐑﹀拰閽夋鍦╳indows騫沖彴涓娿?/p>

2.浠ヤ笂鎺ュ彛緇撴瀯鏀劇疆鍦ㄥご鏂囦歡涓備綔涓轟富紼嬪簭鍜宒ll鍏變韓鐨勫ご鏂囦歡錛屽叾涓紝鍐嶅湪澶存枃浠朵腑鍏蜂綋澹版槑浠ヤ笂緇撴瀯浣撲腑鍑芥暟銆?/p>

void plusDll_Config( struct PlugInModule * pModule);  //璁劇疆鍑芥暟
void PlusDll_Init( struct PlugInModule * pModule );   //鍒濆鍖栧嚱鏁?br>void plusDll_Quit( struct PlugInModule * pModule );   //閫鍑哄嚱鏁?br>void plusDll_Run( struct PlugInModule * pModule );     //鎵ц鍑芥暟

3.鍦ㄥご鏂囦歡涓0鏄庝竴涓繑鍥炶緇撴瀯鐨勫嚱鏁般傚叾瀹炲氨鏄竴涓洖璋冨嚱鏁般傛妸璇ョ粨鏋勮繑鍥炵粰涓葷▼搴忕殑涓涓猠xport 鍑芥暟銆?/p>

typedef PlugInModule* (*GETPLUGINMODULE)();       //澹版槑鎺ュ彛鍑芥暟鍦板潃

/**
  瀵煎嚭鍑芥暟錛屼富紼嬪簭棣栧厛鑾峰彇璇ユ帴鍙e嚱鏁幫紝鑾峰緱 dll涓殑鍑芥暟鍦板潃錛岃皟鐢?br>*/
DLL_001_API PlugInModule* GetPlugInModuleFunction();     //DLL_001_API ==> __declspec(dllexport)

4.鍦╠ll涓畾涔夎鎻掍歡緇撴瀯錛屾妸鍦板潃閫氳繃GetPlugInModuleFunction浼犲叆鍒頒富紼嬪簭銆?

5.鍒嗗埆瀹炵幇dll涓拰涓葷▼搴忕殑瀹氫箟閮ㄥ垎銆傞氳繃鍔ㄦ佸姞杞芥柟寮忓嵆鍙疄鐜板彇鍑篸ll鐨勭粨鏋勪綋鎸囬拡銆?/p>

濡備笅紺猴細

        hDLL = LoadLibrary("dll_001\\debug\\dll_001.dll");
        if (hDLL)
                MessageBox(NULL,"plus_Dll load ok", "", MB_OK);
        else
        {                       
                        MessageBox(NULL, "not found plus_dll","",MB_OK);
                        return 0;
                    }
                    pFunction = (GETPLUGINMODULE)::GetProcAddress(hDLL,"GetPlugInModuleFunction");
                    if (pFunction != NULL)
                    {
                       dllplus_module = (*pFunction)();
                          dllplus_module->PlugIn_Init(dllplus_module);
                       dllplus_module->PlugIn_Run(dllplus_module);
                       dllplus_module->PlugIn_Quit(dllplus_module);

                    }
                    ::FreeLibrary(hDLL);//鍗歌澆MyDll.dll鏂囦歡錛?/font>



]]>
涓嶈兘浠ヤ細c++涓哄敮涓浜?/title><link>http://m.shnenglu.com/kenlistian/archive/2008/04/21/47739.html</link><dc:creator>kenlistian</dc:creator><author>kenlistian</author><pubDate>Mon, 21 Apr 2008 08:25:00 GMT</pubDate><guid>http://m.shnenglu.com/kenlistian/archive/2008/04/21/47739.html</guid><wfw:comment>http://m.shnenglu.com/kenlistian/comments/47739.html</wfw:comment><comments>http://m.shnenglu.com/kenlistian/archive/2008/04/21/47739.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://m.shnenglu.com/kenlistian/comments/commentRss/47739.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/kenlistian/services/trackbacks/47739.html</trackback:ping><description><![CDATA[<p>      濂介暱鏃墮棿娌℃洿鏂頒簡錛屼富瑕佽繖孌墊椂闂村繖瀛uby銆傛病澶氬皯鏃墮棿娓╂晠涓涓媍++鍙婂叾緇嗚妭銆傚浜庣紪紼嬩負鐢熸動鐨勪漢鐢熶腑錛屽叾c/c++鏄竴鎶婂ソ鐨勫伐鍏鳳紝浣嗘槸鍦ㄩ暱騫寸瘡鏈堢紪鍐欎唬鐮佷腑錛屾洿鍔犳槑鐧界殑緙栫▼鐨勬濇兂鎵嶆槸鐏甸瓊錛屾病鏈夋濇兂鐨勭紪紼嬶紝涔熶笉榪囧鍚屾嬁鎶婂疂鍓戣屾棤鎵浣滀負銆傚氨鏄啀綺鵑歝++涔熶笉榪囨槸縐頒箣涓烘煇璇█涓撳銆傝屽浜庝嬌鐢ㄥ伐鍏風殑浜烘潵璇達紝涓嶄粎鏄鍠勪簬榪愮敤宸ュ叿錛岃屼笖鏇村簲璇ユ槸鍙戞尌宸ュ叿鍘誨疄鐜頒綘鐨勮姹傘?/p> <p>      浣嗗緢澶氫漢鍦ㄥ寰卌/c++鏃訛紝澶鐨勬椂鍊欙紝濡傚悓鏃跺父鎶氭懜鑷繁鎵嬩腑瀹濆墤鑰屽繕鍗翠簡瑕佸幓闈㈠鐨勯」鐩?/p> <p>      鎴戞椂甯鎬互CS娓告垙涓殑姝﹀櫒鍚戝悓浜嬪拰鏈嬪弸鏉ユ瘮鍠伙紝c濡傚悓CS涓殑闃誨嚮姝ユ灙錛岃孋++濡傚悓Ak47錛岃宩ava錛宑#濡傚悓鍒跺紡姝﹀櫒涓殑m41紿佸嚮姝ユ灙錛岃繖浜涢兘鏄湪緙栫▼涓栫晫涓殑涓誨姏鍘潃姝﹀櫒錛屾垜浠彲浠ラ夋嫨C鍙互鐬勫噯浠諱綍欏圭洰錛屼篃鑳芥ц兘鏋侀珮鐨勫皠涓」鐩殑瑕佸錛屼絾鏄寔C涔嬩漢錛屾墍縐瘡鐨勭粡楠岋紝鎵瀵歸」鐩殑寮鍙戞椂闂寸紦鎬ワ紝閮藉湪涓瀹氱▼搴︿笂褰卞搷浜嗛噰鐢╟鐨勮姹傦紝C++鍜孉K47鏈夌偣綾諱技錛岀媯鏆存湁鏁堬紝浣嗕笉鏄竴鑸漢鑳藉鍦ㄩ」鐩紑鍙戜腑濮嬬粓淇濇寔寮鍙戠殑閫熷害鍜屾晥鐜囷紝鍦–S涓瑼K47錛屽ご涓夋灙鏁堢巼鏋侀珮錛屼絾濡傚湪緙栫▼涓栫晫涓」鐩殑澶ч噺鍜岃揩榪戞椂錛屽線寰鍜孋S涓瑼K47涓瓙寮歸兘椋炴暎鍒版晫鎵嬪懆鍥翠竴鏍峰彉寰楁潅涔變綆鏁堛傛墍浠ヤ竴鑸岃█錛岄噰鐢ㄥ埗寮忔鍣ㄤ腑鐨刯ava錛孋#鏄綔涓虹幇浠e伐涓氱紪紼嬬殑涓昏鍒跺紡姝﹀櫒錛岀簿紜湁鏁堬紝寮歸噺鍏呰凍銆?/p> <p>     涔熻錛岄夋嫨浠ヤ笂鍒跺紡姝﹀櫒涔熼兘鏄竴縐嶄釜浜虹埍濂藉拰浼佷笟鐨勪晶閲嶏紝浣嗘槸鍐嶆庝箞鐫錛屼篃蹇呴』鍦ㄨ澶囦簡涓涓誨姏姝﹀櫒澶栬繕寰楅厤澶囪繎鎴樼殑姝﹀櫒錛屽拰鏈嬪弸璇磋搗錛屼綘寰楀儚cs涓厤浜嗕富鍔涙鍣ㄥ錛岃繕寰楅厤鎶婅繎鎴樻墜鏋紝浠ュ鍚勭瑕佹眰銆傚鍚孋S涓寔鏋洏鏂楀埌鏈鍚庯紝涔熷緱鎶藉嚭鐭灙鐩樼幆榪戞枟錛岃繖涔熺被浼煎湪欏圭洰鍚冪揣鏃訛紝涓存椂鏈夐澶栫殑瑕佹眰鏃訛紝鐢ㄥ埗寮忓伐鍏蜂篃璁告潵涓嶅強鎴栬呬笉鍊煎緱鑺卞ぇ宸ュか鍘誨鐞嗘椂錛岀敤鐢ㄩ偅浜涜兌姘磋璦錛堝姩鎬佽璦錛夊垯鏄潪甯哥渷鍔涘拰楂樻晥鐜囩殑銆備篃灝辨槸璇磋兌姘磋璦灝卞鍚岃繎鎴樻墜鏋紝綆鍗曟湁鏁堝疄鐢ㄣ?/p> <p>    璋堝埌鍔ㄦ佽璦錛屾湁澶錛屽叾瀹炵啛鎮夊拰鑳借繍钀ヤ竴錛屼簩闂ㄥ嵆鍙紝濡傝佺墝鐨刾erl錛岀О涔嬩負鍗冨勾鑰佸鐨刾ython錛屾柊鍏寸殑鏉鎵嬪伐鍏穜uby錛岀畝鍗曞鉤娣$殑vb or javascript錛岃繕鏈夐偅浜涙垜浠庢潵娌$敤榪囩殑鐨刲ua錛宭isp錛宻chema絳夛紝浼氳繖浜涳紝涓嶈兘鑷互涓烘槸鐨勫張浠ヤ負綺鵑氫簡涓闂ㄨ璦鏉ユ瘮杈僣/c++鐨勪紭鍔o紝浣嗕篃涓嶈兘浠/c++ 鎬ц兘浼樺紓鐞嗙敱鑰屾嫆緇濆涔犲叾浠栫殑鐞嗙敱銆傚彧鏄柟渚挎垜浠揪鍒版垜浠殑鐩殑銆?/p><img src ="http://m.shnenglu.com/kenlistian/aggbug/47739.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/kenlistian/" target="_blank">kenlistian</a> 2008-04-21 16:25 <a href="http://m.shnenglu.com/kenlistian/archive/2008/04/21/47739.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>浣跨敤Requst涓殑BinaryRead鐨勪竴浜涚粏鑺?/title><link>http://m.shnenglu.com/kenlistian/archive/2008/03/05/43751.html</link><dc:creator>kenlistian</dc:creator><author>kenlistian</author><pubDate>Wed, 05 Mar 2008 08:12:00 GMT</pubDate><guid>http://m.shnenglu.com/kenlistian/archive/2008/03/05/43751.html</guid><wfw:comment>http://m.shnenglu.com/kenlistian/comments/43751.html</wfw:comment><comments>http://m.shnenglu.com/kenlistian/archive/2008/03/05/43751.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/kenlistian/comments/commentRss/43751.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/kenlistian/services/trackbacks/43751.html</trackback:ping><description><![CDATA[<p> 琛ワ細娌″姙娉曪紱淇虹殑cnit鐨勫崥瀹㈠彂甯冧笉涓婂幓錛屽氨鍙戝湪淇虹殑cpp鍗氬鍚с?/p> <p>      鐢變簬宸ヤ綔緙樻晠錛岄渶瑕佸鐞嗕竴鎺ュ彛鍙戦佹潵鐨剎ml涓詫紝瀵規柟閲囩敤java浠ュ瓧鑺傛祦妯″紡post涓涓獂ml涓詫紝<br>  鍦╝sp涓噰鐢╮equest浼拌鎶婂畠鍔犺澆鍒皒ml瑙f瀽鍣ㄤ腑搴旇鎶ユ棤娉曡В鏋愩?/p> <p>     閲囩敤Request.binaryRead 鍗沖彲瑙e喅錛屼絾鏄娉ㄦ剰鍑犱釜緇嗚妭鏂歸潰銆?/p> <p>     涓涓鍒版潵銆?/p> <p>  1. 璇誨彇瀛楄妭嫻?/p> <p>       Dim vtBody</p> <p>       iReceive = Request.TotalBytes</p> <p>       vtBody = Request.BinaryRead(iReceive)</p> <p>2.   杞崲瀛楄妭嫻佷負瀛楃涓詫紝鏈変互涓嬪嚑涓嚱鏁板彲浠ヤ換閫夈?/p> <p>   </p><color ="BLUE"> <p><font color="#001d39">' a銆俠yte --> str  ,璇ヨ漿鎹㈠彧閫傜敤灝忔暟鎹紝浣嗘槸鎵鏈塱e娌℃湁闂錛岋紝錛?br>Function bytes2BSTR(vIn)<br>    strReturn = ""<br>    For i = 1 To LenB(vIn)<br>        ThisCharCode = AscB(MidB(vIn,i,1))<br>        If ThisCharCode < &H80 Then<br>            strReturn = strReturn & Chr(ThisCharCode)<br>        Else<br>            NextCharCode = AscB(MidB(vIn,i+1,1))<br>            strReturn = strReturn & Chr(CLng(ThisCharCode) * &H100 + CInt(NextCharCode))<br>            i = i + 1<br>        End If<br>    Next<br>    bytes2BSTR = strReturn<br>End Function</font></p> <p><font color="#001d39">'b銆傞噰鐢?ado record鏉ヨ漿鎹紝璇ヨ漿鎹㈤熷害蹇紝杞崲鏁版嵁澶э紝鎹瀵筰e5鏀寔涓嶅濂斤紝<br>function rsbinarytostring(xbinary)<br>Dim binary<br><br>  If  vartype(xbinary)= 8 then <br>    binary = multibytetobinary(xbinary) <br>  Else  <br>    binary = xbinary<br>  End If <br>  Dim rs, lbinary<br>  const adlongvarchar = 201<br>  Set rs = createobject("adodb.recordset")<br>  lbinary = lenb(binary) </font> <p><font color="#001d39">  If lbinary>0 Then <br>    rs.fields.append "mbinary", adlongvarchar, lbinary<br>    rs.open<br>    rs.addnew<br>    rs("mbinary").appendchunk binary<br>    rs.update<br>    rsbinarytostring = rs("mbinary").Value<br>    rs.Close<br>  Else <br>   rsbinarytostring = ""<br>  end if<br>End Function </font> <p><font color="#001d39">'***************************************************<br>'c銆傞噰鐢ㄦ祦瑙f瀽瀛楃涓詫紝璇ヨ漿鎹㈤熷害蹇紝杞崲鏁版嵁澶э紝鎹瀵筰e5鏀寔涓嶅濂斤紝<br>function stream_binarytostring(binary, charset)<br>  set binarystream = createobject("adodb.stream")<br>  '璇誨叆瀛楄妭嫻?br>  binarystream.type = 1<br>  binarystream.open<br>  binarystream.write binary </font> <p><font color="#0080ff"><font color="#001d39">  '鍐呴儴浠ュ瓧絎︽柟寮忚繑鍥?br>  binarystream.position = 0<br>  binarystream.type = 2<br>  If len(charset) > 0 Then <br>    binarystream.charset = charset<br>  Else <br>    binarystream.charset = "us-ascii"<br>  End If <br>  stream_binarytostring = binarystream.readtext<br>end function</font> </color></font> <p>鍒欒皟鐢ㄤ笂闈換涓涓繘琛岃漿鎹㈠嵆鍙傚錛? <p>  strBody = stream_binarytostring(vtBody, "utf-8") <p>3. 灝唖trBody瑙g爜 <p>   濡傛灉璋冪敤Response.Write strBody 錛屽垯鍦╥e涓婂彲浠ョ湅鍒版甯哥殑xml緇撴瀯浣撻儴鍒嗐? <p>   浣嗘槸濡傛灉浣犺鏄啓鍦ㄦ枃鏈腑錛屼綘灝嗕細鐪嬪埌鐨勬槸濡備笅鐨勬牱寮忥細 <p>%3C%3Fxml+version+%3D+%221.0%22+encoding%3D%22UTF-8%22+%3F%3E%3CROOT%3E%3CUSER%3Egtzx%3C%2FUSER%3E%3CPASS%3Egtzx%3C%2FPASS%3E%3CMO%3E%3CMOID%3E291AC5FDBD0DF4EF2B2A2950FB730610%3C%2FMOID%3E%3CMSGFORMAT%3E15%3C%2FMSGFORMAT%3E%3CCLASSID%3Ehttp%3A%銆傘傘傘?3E%3CSERVICEID%3E1981%3C%2FSERVICEID%3E%3CCITYID%3E102%3C%2FCITYID%3E%3CPROVINCEID%3E16%3C%2FPROVINCEID%3E%3CMOUSEID%3E2%3C%2FMOUSEID%3E%3CSPNUMBER%3E10666066%3C%2FSPNUMBER%3E%3CLINKID%3E%3C%2FLINKID%3E%3CREMARK%3E%3C%2FREMARK%3E%3C%2FMO%3E%3C%2FROOT%3E <p>  榪欒〃紺烘槸url 緙栫爜鏂瑰紡錛屽畠鎶妘tf-8緙栫爜榪涜浜嗗啀涓嬈$紪鐮侊紝濡傛灉浣犺鏄痻ml瑙f瀽鍣ㄦ潵瑙f瀽鐨勮瘽錛屾亹鎬曞畠鏄共涓嶄簡媧葷殑銆傦紙涔熻鏈夛紝浣嗘槸asp涓帺閭d釜xmldocument瀹炲湪鏄笉鎯崇爺絀朵笅鍘伙級 <p>  涓嶈繃鍐嶉渶瑕佸仛涓猽rlDecode杞崲錛岃繖涓猘sp鍑芥暟錛岀綉涓婁竴澶ф妸錛屾悳鍑轟竴涓紝綺樿創涓嬫潵灝卞彲浠ュ幓鎺?騫惰漿鎹tf-8鏍煎紡銆傝繖閲岃創鍑轟竴涓慨鏀圭殑urlDecode鍑芥暟錛? <p>'<font color="#0000ec">*****************************************************<br>'鍔熻兘鎻忚堪錛歎RL瑙g爜鐮佸嚱鏁?br>'杈撳叆鍙傛暟錛歷URL緙栫爜鐨勫瓧絎︿覆<br>'榪斿洖鍊鹼細瑙g爜鍚庣殑瀛楃涓?br>Public Function URLDecoding(sIn)<br>Dim s,i,l,c,t,n : s="" : l=Len(sIn) </font> <p><font color="#0000ec">For i=1 To l<br>    c=Mid(sIn,i,1)<br>    If c<>"%" Then<br>        s = s & c<br>    Else<br>        c=Mid(sIn,i+1,2) : i=i+2 : t=CInt("&H" & c)<br>        If t<&H80 Then<br>            s=s & Chr(t)<br>        Else<br>            c=Mid(sIn,i+1,3)<br>            If Left(c,1)<>"%" Then<br>                URLDecoding=s<br>                Exit Function<br>            Else<br>                c=Right(c,2) : n=CInt("&H" & c)<br>                t=t*256+n-65536<br>                s = s & Chr(t) : i=i+3<br>            End If<br>        End If<br>    End If<br>Next<br>s=Replace(s, "+"," ")<br>URLDecoding=s<br>End Function</font> <p>  4. 璋冪敤xml瑙f瀽鍣紝鍔犺澆浠ヤ笂瀛楃涓詫紝鍗沖彲瑙e喅銆? <p>'***********************************************************<br>'瑙f瀽xml鏂囦歡<br>'***********************************************************<br>Dim xml<br>Set xml = Server.CreateObject ("msxml2.DOMDocument")<br>xml.Async = False<br>xml.Loadxml(strBody) <p>5.璇誨嚭xml涓殑鑺傜偣錛屽啓鍏ユ枃鏈垨鑰呭啓鍏ユ暟鎹簱錛宱k銆? <p>  <p>鎬葷粨錛? <p>      鍦╝sp涓噰鐢▁mlhttp鍙戦佹垨鑰呮帴鏀訛紝鏄笉鑰冭檻瀛楄妭嫻佹ā寮忓彂閫佺殑錛岀洿鎺ヨ皟鐢▁mlhttp涓殑send鍗沖彲銆傜瀹冩槸 <p>鎸夊暐妯″紡鍙戦佺殑錛屼絾鏄湪鍏朵粬璇█緙栫▼涓紝姣斿java錛宑#錛宱r vc涓紝鏈夊彲鑳芥槸鎸夊瓧鑺傛祦鏂瑰紡鍙戦佸嚭鍘葷殑錛岄偅涔堬紝 <p>濡傛灉鎯沖浘涓柟渚匡紝鐩存帴鐢╝sp鍐欎釜鎺ュ彛澶勭悊涓嬶紝灝辮鑰冭檻涓嬪拰鍏朵粬紼嬪簭澶勭悊鐨勭粏鑺傘? <img src ="http://m.shnenglu.com/kenlistian/aggbug/43751.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/kenlistian/" target="_blank">kenlistian</a> 2008-03-05 16:12 <a href="http://m.shnenglu.com/kenlistian/archive/2008/03/05/43751.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>CSocket 涓嶈兘鍦ㄧ嚎紼嬩腑浣跨敤錛?/title><link>http://m.shnenglu.com/kenlistian/archive/2008/02/18/42907.html</link><dc:creator>kenlistian</dc:creator><author>kenlistian</author><pubDate>Mon, 18 Feb 2008 12:18:00 GMT</pubDate><guid>http://m.shnenglu.com/kenlistian/archive/2008/02/18/42907.html</guid><wfw:comment>http://m.shnenglu.com/kenlistian/comments/42907.html</wfw:comment><comments>http://m.shnenglu.com/kenlistian/archive/2008/02/18/42907.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/kenlistian/comments/commentRss/42907.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/kenlistian/services/trackbacks/42907.html</trackback:ping><description><![CDATA[<p>    浠婂ぉ鏈潵鎯沖伔涓噿錛岀洿鎺ユ嬁demo鐨勪竴涓猚hat浠g爜鍋氫竴涓洃鎺ф湇鍔$▼搴忋傞噰鐢ㄧ殑鏄紶緇熺殑CSocket鍜孋Archive鏂瑰紡澶勭悊搴忓垪鍖栨秷鎭彂閫佹棦鍙互浜嗐?/p> <p>鍦ㄥ仛鐨勯斾腑錛岃寰楁悶涓涓嚎紼嬪鐞嗚涓涓猯ist瀛楃涓詫紝鏈夊瓧絎︿覆灝辮皟鐢–Socket緇ф壙綾伙紝閫氳繃搴忓垪鍖栨柟娉曞彂閫佸嚭鍘誨氨鍙互浜嗐?/p> <p>   緇撴灉淇敼榪愯鍚庯紝鍗存湰鏉ユ兂鍋鋒噿鍗村彉鍑哄伔涓嶄簡鎳掞紝鍦ㄩ氳繃搴忓垪鍖栨柟寮忓彂閫佽佹槸鎶ヤ竴涓猄ockcore.cpp涓殑566鐨凙SSERT閿欒銆?/p> <p>#ifdef _DEBUG<br>void CAsyncSocket::AssertValid() const<br>{<br>    CObject::AssertValid();<br>    ASSERT(m_hSocket == INVALID_SOCKET || CAsyncSocket::FromHandle(m_hSocket) != NULL);<br>} <p>浠旂粏鐪嬭繖涓狝SSERT錛屽氨鏄姤socket鐨勯棶棰樸?/p> <p>紼嬪簭鍙嶅鐪嬩簡鐪嬶紝涔熸病鏈夋煡鍑洪棶棰樸傚湪google鎼滀簡鎼滐紝</p> <p><a title="http://topic.csdn.net/t/20020521/20/741527.html" >http://topic.csdn.net/t/20020521/20/741527.html</a></p> <p><a title="http://topic.csdn.net/t/20020626/12/830990.html" >http://topic.csdn.net/t/20020626/12/830990.html</a></p> <p>   浠庝腑鏈変簺鍚彂錛屾妸send閮ㄥ垎浠庣嚎紼嬩腑閲囩敤涓葷嚎紼嬪彂閫侊紝绔嬮┈瑙e喅闂銆傜湅鏉Socket鐨勭戶鎵跨被鏄及璁′笉鏀寔鍦ㄧ嚎紼嬫ā寮忎笅榪愯銆備篃鏈変漢璇碈Socket緇ф壙綾誨彧鑳界敤浜庝富綰跨▼錛岃屼笉鑳藉湪綰跨▼涓紝褰撶劧錛屾槸鍚﹁繖鏍鳳紝榪橀渶瑕佺‘璁ゃ備笉榪囷紝濡傛灉鎯沖啓綰跨▼涓嬬殑socket綾伙紝鏈濂借繕鏄粠socket鏋勯犲惂錛屽厤寰楃粫寮礬銆傚惁鍒欙紝璋冭瘯鏉ヨ皟璇曞幓錛屽洶鎯戝湪娣辨繁鐨凪FC浠g爜鍐呮牳浠g爜涓畝鐩存槸嫻垂鏃墮棿銆?/p><img src ="http://m.shnenglu.com/kenlistian/aggbug/42907.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/kenlistian/" target="_blank">kenlistian</a> 2008-02-18 20:18 <a href="http://m.shnenglu.com/kenlistian/archive/2008/02/18/42907.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item></channel></rss> <a href="http://m.shnenglu.com/">青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品</a> <div style="position:fixed;left:-9000px;top:-9000px;"><font id="pjuwb"></font><button id="pjuwb"><pre id="pjuwb"></pre></button><sub id="pjuwb"></sub><tbody id="pjuwb"><var id="pjuwb"><address id="pjuwb"></address></var></tbody><listing id="pjuwb"><label id="pjuwb"><strong id="pjuwb"></strong></label></listing><wbr id="pjuwb"><small id="pjuwb"><tbody id="pjuwb"></tbody></small></wbr><ins id="pjuwb"><xmp id="pjuwb"></xmp></ins><style id="pjuwb"></style><label id="pjuwb"><em id="pjuwb"><li id="pjuwb"></li></em></label><samp id="pjuwb"></samp><menu id="pjuwb"><input id="pjuwb"></input></menu><pre id="pjuwb"><tbody id="pjuwb"><tfoot id="pjuwb"><button id="pjuwb"></button></tfoot></tbody></pre><form id="pjuwb"></form><i id="pjuwb"><style id="pjuwb"><label id="pjuwb"><sup id="pjuwb"></sup></label></style></i><li id="pjuwb"><table id="pjuwb"><abbr id="pjuwb"></abbr></table></li><video id="pjuwb"></video><dfn id="pjuwb"></dfn><progress id="pjuwb"></progress><strong id="pjuwb"></strong><mark id="pjuwb"></mark><em id="pjuwb"></em><tbody id="pjuwb"><p id="pjuwb"><strike id="pjuwb"><acronym id="pjuwb"></acronym></strike></p></tbody><option id="pjuwb"></option><strike id="pjuwb"></strike><u id="pjuwb"></u><td id="pjuwb"><center id="pjuwb"><tr id="pjuwb"></tr></center></td><em id="pjuwb"><mark id="pjuwb"><em id="pjuwb"><tt id="pjuwb"></tt></em></mark></em><strong id="pjuwb"></strong><wbr id="pjuwb"></wbr><s id="pjuwb"></s><strong id="pjuwb"></strong><legend id="pjuwb"></legend><nav id="pjuwb"></nav><dl id="pjuwb"><th id="pjuwb"><dl id="pjuwb"></dl></th></dl><noframes id="pjuwb"><ins id="pjuwb"></ins></noframes><font id="pjuwb"></font><strike id="pjuwb"><i id="pjuwb"><style id="pjuwb"><label id="pjuwb"></label></style></i></strike><output id="pjuwb"></output><thead id="pjuwb"><pre id="pjuwb"></pre></thead><source id="pjuwb"></source><menuitem id="pjuwb"><wbr id="pjuwb"></wbr></menuitem><pre id="pjuwb"><span id="pjuwb"><pre id="pjuwb"><big id="pjuwb"></big></pre></span></pre><cite id="pjuwb"><fieldset id="pjuwb"><s id="pjuwb"><rt id="pjuwb"></rt></s></fieldset></cite><big id="pjuwb"><progress id="pjuwb"><big id="pjuwb"></big></progress></big><samp id="pjuwb"><delect id="pjuwb"></delect></samp><dl id="pjuwb"></dl><strike id="pjuwb"><nav id="pjuwb"><dl id="pjuwb"><strong id="pjuwb"></strong></dl></nav></strike><tbody id="pjuwb"><b id="pjuwb"><optgroup id="pjuwb"><rp id="pjuwb"></rp></optgroup></b></tbody><em id="pjuwb"></em><xmp id="pjuwb"><blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote></xmp> <i id="pjuwb"><abbr id="pjuwb"><i id="pjuwb"><abbr id="pjuwb"></abbr></i></abbr></i><center id="pjuwb"><acronym id="pjuwb"><center id="pjuwb"></center></acronym></center><pre id="pjuwb"></pre><ul id="pjuwb"><thead id="pjuwb"></thead></ul><blockquote id="pjuwb"><pre id="pjuwb"><sup id="pjuwb"></sup></pre></blockquote><acronym id="pjuwb"></acronym><big id="pjuwb"><s id="pjuwb"></s></big><th id="pjuwb"></th><th id="pjuwb"></th><tbody id="pjuwb"></tbody><thead id="pjuwb"><strike id="pjuwb"></strike></thead><th id="pjuwb"><dl id="pjuwb"><wbr id="pjuwb"></wbr></dl></th><dl id="pjuwb"><strong id="pjuwb"></strong></dl><abbr id="pjuwb"><noframes id="pjuwb"><noscript id="pjuwb"></noscript></noframes></abbr><td id="pjuwb"><ol id="pjuwb"></ol></td><li id="pjuwb"><noscript id="pjuwb"><abbr id="pjuwb"></abbr></noscript></li><small id="pjuwb"><bdo id="pjuwb"><nav id="pjuwb"></nav></bdo></small><style id="pjuwb"></style><optgroup id="pjuwb"><table id="pjuwb"></table></optgroup><center id="pjuwb"><tr id="pjuwb"><dfn id="pjuwb"></dfn></tr></center><th id="pjuwb"></th><u id="pjuwb"></u><tfoot id="pjuwb"><legend id="pjuwb"><i id="pjuwb"></i></legend></tfoot><mark id="pjuwb"></mark><meter id="pjuwb"></meter><nav id="pjuwb"></nav><acronym id="pjuwb"><pre id="pjuwb"><acronym id="pjuwb"><ul id="pjuwb"></ul></acronym></pre></acronym><acronym id="pjuwb"><pre id="pjuwb"><acronym id="pjuwb"><ul id="pjuwb"></ul></acronym></pre></acronym><nobr id="pjuwb"></nobr><sub id="pjuwb"><th id="pjuwb"><menuitem id="pjuwb"><wbr id="pjuwb"></wbr></menuitem></th></sub><thead id="pjuwb"><sub id="pjuwb"></sub></thead><ul id="pjuwb"><address id="pjuwb"><menuitem id="pjuwb"><meter id="pjuwb"></meter></menuitem></address></ul><dfn id="pjuwb"></dfn><pre id="pjuwb"></pre><input id="pjuwb"><cite id="pjuwb"><fieldset id="pjuwb"></fieldset></cite></input><u id="pjuwb"><form id="pjuwb"><u id="pjuwb"></u></form></u><kbd id="pjuwb"><em id="pjuwb"><mark id="pjuwb"></mark></em></kbd><tr id="pjuwb"></tr><del id="pjuwb"><form id="pjuwb"><address id="pjuwb"></address></form></del><tfoot id="pjuwb"><legend id="pjuwb"><ol id="pjuwb"><dl id="pjuwb"></dl></ol></legend></tfoot><menu id="pjuwb"><nobr id="pjuwb"><th id="pjuwb"><nobr id="pjuwb"></nobr></th></nobr></menu><fieldset id="pjuwb"></fieldset><pre id="pjuwb"><blockquote id="pjuwb"><samp id="pjuwb"></samp></blockquote></pre><xmp id="pjuwb"><sup id="pjuwb"><pre id="pjuwb"></pre></sup></xmp><span id="pjuwb"><progress id="pjuwb"></progress></span><font id="pjuwb"></font><var id="pjuwb"><abbr id="pjuwb"></abbr></var><strong id="pjuwb"><label id="pjuwb"><i id="pjuwb"><legend id="pjuwb"></legend></i></label></strong><tr id="pjuwb"><em id="pjuwb"><em id="pjuwb"><output id="pjuwb"></output></em></em></tr><thead id="pjuwb"><strike id="pjuwb"></strike></thead> <acronym id="pjuwb"></acronym><i id="pjuwb"></i><tt id="pjuwb"></tt><rt id="pjuwb"><source id="pjuwb"><rt id="pjuwb"></rt></source></rt><strike id="pjuwb"><acronym id="pjuwb"></acronym></strike><del id="pjuwb"></del><font id="pjuwb"><output id="pjuwb"><ins id="pjuwb"><output id="pjuwb"></output></ins></output></font><kbd id="pjuwb"><tr id="pjuwb"><kbd id="pjuwb"></kbd></tr></kbd><pre id="pjuwb"><sup id="pjuwb"><delect id="pjuwb"><samp id="pjuwb"></samp></delect></sup></pre><samp id="pjuwb"></samp><track id="pjuwb"></track><tr id="pjuwb"></tr><center id="pjuwb"></center><fieldset id="pjuwb"></fieldset><i id="pjuwb"></i><td id="pjuwb"></td><rt id="pjuwb"></rt><object id="pjuwb"></object><pre id="pjuwb"><progress id="pjuwb"><sub id="pjuwb"><thead id="pjuwb"></thead></sub></progress></pre><kbd id="pjuwb"><tr id="pjuwb"><option id="pjuwb"></option></tr></kbd><output id="pjuwb"><ins id="pjuwb"></ins></output><ol id="pjuwb"></ol><source id="pjuwb"></source><strong id="pjuwb"></strong><ruby id="pjuwb"></ruby><sub id="pjuwb"><meter id="pjuwb"><menuitem id="pjuwb"><meter id="pjuwb"></meter></menuitem></meter></sub><pre id="pjuwb"></pre><center id="pjuwb"></center><tr id="pjuwb"><tbody id="pjuwb"><xmp id="pjuwb"><dd id="pjuwb"></dd></xmp></tbody></tr><video id="pjuwb"></video><pre id="pjuwb"></pre><form id="pjuwb"><optgroup id="pjuwb"></optgroup></form><samp id="pjuwb"></samp><kbd id="pjuwb"></kbd><strong id="pjuwb"><option id="pjuwb"></option></strong><object id="pjuwb"></object><abbr id="pjuwb"><noframes id="pjuwb"><abbr id="pjuwb"></abbr></noframes></abbr><ul id="pjuwb"><del id="pjuwb"><button id="pjuwb"><pre id="pjuwb"></pre></button></del></ul><abbr id="pjuwb"></abbr><strong id="pjuwb"><code id="pjuwb"><strong id="pjuwb"></strong></code></strong><option id="pjuwb"></option><optgroup id="pjuwb"><bdo id="pjuwb"><code id="pjuwb"></code></bdo></optgroup><mark id="pjuwb"><em id="pjuwb"><font id="pjuwb"></font></em></mark><acronym id="pjuwb"><code id="pjuwb"></code></acronym><dl id="pjuwb"></dl><em id="pjuwb"></em><object id="pjuwb"><input id="pjuwb"><object id="pjuwb"></object></input></object><output id="pjuwb"><dd id="pjuwb"></dd></output><option id="pjuwb"><button id="pjuwb"><option id="pjuwb"></option></button></option><small id="pjuwb"></small></div> <a href="http://aqdw2021.com" target="_blank">亚洲欧洲精品一区二区三区</a>| <a href="http://jldianda.com" target="_blank">亚洲黄色成人网</a>| <a href="http://710557.com" target="_blank">中文在线一区</a>| <a href="http://uniconmgt.com" target="_blank">欧美精品v日韩精品v韩国精品v</a>| <a href="http://lyminghang.com" target="_blank">久久精品视频在线观看</a>| <a href="http://wwwqm9.com" target="_blank">国产亚洲女人久久久久毛片</a>| <a href="http://xxdd51.com" target="_blank">欧美在线视频免费</a>| <a href="http://3s3v.com" target="_blank">欧美激情女人20p</a>| <a href="http://tuiliqi.com" target="_blank">亚洲网友自拍</a>| <a href="http://www330088.com" target="_blank">欧美亚洲综合在线</a>| <a href="http://6u6uuu666.com" target="_blank">亚洲欧洲精品一区二区三区</a>| <a href="http://chunshanketang.com" target="_blank">亚洲电影av</a>| <a href="http://151545.com" target="_blank">国产精品免费看久久久香蕉</a>| <a href="http://5917t.com" target="_blank">卡一卡二国产精品</a>| <a href="http://xp1025.com" target="_blank">日韩午夜免费</a>| <a href="http://by56677.com" target="_blank">欧美区一区二</a>| <a href="http://nmbgbc.com" target="_blank">久久激情视频</a>| <a href="http://caosee.com" target="_blank">亚洲精品美女在线</a>| <a href="http://1392266.com" target="_blank">久久精品一区二区三区不卡牛牛</a>| <a href="http://showrti.com" target="_blank">精品999久久久</a>| <a href="http://xss521.com" target="_blank">国产精品yjizz</a>| <a href="http://3534m.com" target="_blank">欧美va亚洲va日韩∨a综合色</a>| <a href="http://7a7d.com" target="_blank">亚洲一区二区av电影</a>| <a href="http://3344568.com" target="_blank">你懂的国产精品永久在线</a>| <a href="http://woniuminsu.com" target="_blank">亚洲免费在线看</a>| <a href="http://91pero.com" target="_blank">最新日韩欧美</a>| <a href="http://expolucy.com" target="_blank">亚洲欧美日韩中文播放</a>| <a href="http://yqr55.com" target="_blank">美女成人午夜</a>| <a href="http://820002.com" target="_blank">欧美成人久久</a>| <a href="http://xzvaz.com" target="_blank">蜜臀av一级做a爰片久久</a>| <a href="http://dy25777.com" target="_blank">91久久国产精品91久久性色</a>| <a href="http://xigou666.com" target="_blank">亚洲成人资源网</a>| <a href="http://hakuihoso.com" target="_blank">久久精品久久综合</a>| <a href="http://kakatok.com" target="_blank">亚洲国产高清aⅴ视频</a>| <a href="http://4446666.com" target="_blank">美女视频黄免费的久久</a>| <a href="http://y65o.com" target="_blank">亚洲欧洲一区二区三区</a>| <a href="http://o6186.com" target="_blank">欧美一级片久久久久久久</a>| <a href="http://wwwby113.com" target="_blank">亚洲一区二区在</a>| <a href="http://59812mh.com" target="_blank">久久综合九色欧美综合狠狠</a>| <a href="http://www23sds.com" target="_blank">国产精品久久久久9999高清</a>| <a href="http://342008.com" target="_blank">久久不见久久见免费视频1</a>| <a href="http://97seee.com" target="_blank">欧美成人免费网</a>| <a href="http://xiuren2021.com" target="_blank">欧美国产亚洲精品久久久8v</a>| <a href="http://www-116036.com" target="_blank">久久频这里精品99香蕉</a>| <a href="http://jldianda.com" target="_blank">久久国产精品久久久</a>| <a href="http://whaylan.com" target="_blank">欧美日韩精选</a>| <a href="http://98tangav.com" target="_blank">国产精品久久久久久久久久久久久 </a>| <a href="http://showrti.com" target="_blank">在线日本欧美</a>| <a href="http://www5566szy.com" target="_blank">欧美中文字幕在线观看</a>| <a href="http://by722777.com" target="_blank">久久精品国产99国产精品澳门</a>| <a href="http://91pinping.com" target="_blank">亚洲国产精品一区在线观看不卡</a>| <a href="http://snis675.com" target="_blank">久久国内精品自在自线400部</a>| <a href="http://pourporn.com" target="_blank">国产精品日韩欧美一区二区三区</a>| <a href="http://44cgcg.com" target="_blank">国产精品羞羞答答xxdd</a>| <a href="http://asanny.com" target="_blank">一本一本久久</a>| <a href="http://whmingtong.com" target="_blank">亚洲欧美日韩一区二区三区在线观看</a>| <a href="http://mm778899.com" target="_blank">欧美ab在线视频</a>| <a href="http://hakuihoso.com" target="_blank">久久久999国产</a>| <a href="http://4480vv.com" target="_blank">欧美激情一区二区三区在线视频</a>| <a href="http://9882355.com" target="_blank">国模叶桐国产精品一区</a>| <a href="http://baixinlocal.com" target="_blank">亚洲丁香婷深爱综合</a>| <a href="http://wwwgay456.com" target="_blank">欧美全黄视频</a>| <a href="http://www-49hk.com" target="_blank">国产一区二区三区在线播放免费观看</a>| <a href="http://mm-777.com" target="_blank">亚洲电影免费观看高清</a>| <a href="http://www-442336.com" target="_blank">久久婷婷影院</a>| <a href="http://poqsoft.com" target="_blank">欧美成人免费视频</a>| <a href="http://499305.com" target="_blank">久久精品国亚洲</a>| <a href="http://www5123ri.com" target="_blank">黄色欧美成人</a>| <a href="http://91ymz.com" target="_blank">亚洲欧美一区二区三区久久</a>| <a href="http://ziwufuren.com" target="_blank">欧美在线亚洲在线</a>| <a href="http://tingxihuan.com" target="_blank">亚洲一区影院</a>| <a href="http://clgtzz.com" target="_blank">国产一区二区高清不卡</a>| <a href="http://www-733999.com" target="_blank">久久久在线视频</a>| <a href="http://418ch.com" target="_blank">99一区二区</a>| <a href="http://icciran.com" target="_blank">欧美一区二区三区四区高清</a>| <a href="http://www-188444.com" target="_blank">国产欧美一区二区精品忘忧草</a>| <a href="http://aass22.com" target="_blank">在线欧美日韩精品</a>| <a href="http://9882355.com" target="_blank">欧美成人福利视频</a>| <a href="http://bkf23.com" target="_blank">欧美理论在线播放</a>| <a href="http://44ie.com" target="_blank">亚洲欧美日韩成人高清在线一区</a>| <a href="http://www39pao.com" target="_blank">亚洲午夜一区二区三区</a>| <a href="http://411233.com" target="_blank">久久综合九色综合欧美就去吻</a>| <a href="http://137177.com" target="_blank">亚洲电影一级黄</a>| <a href="http://wwwxigua66.com" target="_blank">91久久精品国产91久久</a>| <a href="http://0999555.com" target="_blank">欧美精品在线免费播放</a>| <a href="http://9585865.com" target="_blank">午夜精品国产更新</a>| <a href="http://830085.com" target="_blank">久久久www</a>| <a href="http://6222h.com" target="_blank">一本色道久久综合亚洲精品按摩 </a>| <a href="http://www442222.com" target="_blank">亚洲一区二区黄色</a>| <a href="http://actskynet.com" target="_blank">免费亚洲网站</a>| <a href="http://jiujiuri8.com" target="_blank">欧美激情久久久</a>| <a href="http://www16axax.com" target="_blank">午夜日韩福利</a>| <a href="http://hs045.com" target="_blank">猫咪成人在线观看</a>| <a href="http://ccc159.com" target="_blank">国产日产亚洲精品</a>| <a href="http://xxxx48.com" target="_blank">欧美国产精品一区</a>| <a href="http://ad377.com" target="_blank">国产精品乱码一区二区三区</a>| <a href="http://wyy66.com" target="_blank">久久精品一区二区国产</a>| <a href="http://derinsolar.com" target="_blank">欧美福利一区二区三区</a>| <a href="http://www888x.com" target="_blank">亚洲欧美在线视频观看</a>| <a href="http://41818c.com" target="_blank">久久综合久色欧美综合狠狠</a>| <a href="http://www-3121.com" target="_blank">亚洲综合成人婷婷小说</a>| <a href="http://22241com.com" target="_blank">91久久精品www人人做人人爽</a>| <a href="http://avse69.com" target="_blank">国产精品swag</a>| <a href="http://y1bbs.com" target="_blank">亚洲第一视频</a>| <a href="http://www-442336.com" target="_blank">国产欧美一区二区精品性色</a>| <a href="http://2302345.com" target="_blank">亚洲国产精品va</a>| <a href="http://maoming365.com" target="_blank">国产欧美日韩综合一区在线观看 </a>| <a href="http://2061856.com" target="_blank">欧美色网在线</a>| <a href="http://heyzo1031.com" target="_blank">夜夜爽夜夜爽精品视频</a>| <a href="http://8bc3.com" target="_blank">午夜一区二区三区不卡视频</a>| <a href="http://tp-88.com" target="_blank">国产精品成人观看视频免费 </a>| <a href="http://81ffff.com" target="_blank">一级成人国产</a>| <a href="http://vvv3939.com" target="_blank">久久久噜噜噜久久</a>| <a href="http://shllswkj.com" target="_blank">亚洲风情在线资源站</a>| <a href="http://7c3e.com" target="_blank">亚洲一区二区欧美</a>| <a href="http://jobmrleehxx.com" target="_blank">日韩亚洲在线观看</a>| <a href="http://showrti.com" target="_blank">亚洲一区影院</a>| <a href="http://cbb188.com" target="_blank">一本久道久久综合狠狠爱</a>| <a href="http://cfqcgw.com" target="_blank">亚洲一二三级电影</a>| <a href="http://521531.com" target="_blank">日韩亚洲在线</a>| <a href="http://669528.com" target="_blank">久久综合给合久久狠狠色</a>| <a href="http://hg4958.com" target="_blank">久久aⅴ乱码一区二区三区</a>| <a href="http://jy920.com" target="_blank">欧美日韩小视频</a>| <a href="http://725806.com" target="_blank">亚洲网站在线</a>| <a href="http://www-14333.com" target="_blank">欧美国产大片</a>| <a href="http://taoseav8.com" target="_blank">久久中文字幕一区二区三区</a>| <a href="http://01xxtv.com" target="_blank">国产精品乱看</a>| <a href="http://www-333304.com" target="_blank">一区二区三区精品视频</a>| <a href="http://daqinhkvip.com" target="_blank">国产精品都在这里</a>| <a href="http://www387333.com" target="_blank">亚洲黄色成人久久久</a>| <a href="http://www62265.com" target="_blank">在线精品国产欧美</a>| <a href="http://cnlbogs.com" target="_blank">久久久噜噜噜</a>| <a href="http://actinview.com" target="_blank">欧美国产第一页</a>| <a href="http://avtbr123.com" target="_blank">亚洲国产清纯</a>| <a href="http://2ejj.com" target="_blank">宅男噜噜噜66一区二区66</a>| <a href="http://tareandshare.com" target="_blank">国产精品蜜臀在线观看</a>| <a href="http://www895pao.com" target="_blank">9人人澡人人爽人人精品</a>| <a href="http://hfztkyhfz.com" target="_blank">亚洲精品日韩激情在线电影</a>| <a href="http://jobmrleehxx.com" target="_blank">亚洲人精品午夜</a>| <a href="http://456985.com" target="_blank">亚洲日韩欧美视频</a>| <a href="http://hkbsi.com" target="_blank">欧美国产高潮xxxx1819</a>| <a href="http://www-136445.com" target="_blank">亚洲经典自拍</a>| <a href="http://85995m.com" target="_blank">亚洲深夜福利网站</a>| <a href="http://d77dd.com" target="_blank">国产精品日韩欧美一区二区</a>| <a href="http://392294.com" target="_blank">午夜精品久久久99热福利</a>| <a href="http://pgd857.com" target="_blank">亚洲欧洲日产国产网站</a>| <a href="http://yeedeli.com" target="_blank">免播放器亚洲</a>| <a href="http://niu96.com" target="_blank">最近看过的日韩成人</a>| <a href="http://kk553.com" target="_blank">99国产精品久久久久久久</a>| <a href="http://cnxwlm.com" target="_blank">欧美日本三级</a>| <a href="http://6677ch.com" target="_blank">亚洲综合色噜噜狠狠</a>| <a href="http://ww4477.com" target="_blank">亚洲第一狼人社区</a>| <a href="http://wg246.com" target="_blank">麻豆成人在线</a>| <a href="http://www66441.com" target="_blank">亚洲人成小说网站色在线</a>| <a href="http://www492002.com" target="_blank">在线亚洲自拍</a>| <a href="http://huangsedy.com" target="_blank">久久精品综合网</a>| <a href="http://y8e8.com" target="_blank">欧美国产精品一区</a>| <a href="http://339505.com" target="_blank">亚洲视频在线播放</a>| <a href="http://580388.com" target="_blank">国产日本精品</a>| <a href="http://baixinlocal.com" target="_blank">麻豆成人av</a>| <a href="http://yjdm139.com" target="_blank">一区二区三区欧美视频</a>| <a href="http://www-833898.com" target="_blank">欧美自拍偷拍午夜视频</a>| <a href="http://chunshanketang.com" target="_blank">在线电影一区</a>| <a href="http://jizzizz.com" target="_blank">欧美一级欧美一级在线播放</a>| <a href="http://www-e2222.com" target="_blank">久久手机免费观看</a>| <a href="http://51-express.com" target="_blank">亚洲日韩欧美一区二区在线</a>| <a href="http://xingzhiyin85.com" target="_blank">欧美日韩午夜</a>| <a href="http://yp77741.com" target="_blank">欧美一区二区三区在线观看</a>| <a href="http://xinghejiuye.com" target="_blank">麻豆精品在线视频</a>| <a href="http://nebnb89.com" target="_blank">国产自产高清不卡</a>| <a href="http://aqdit2022.com" target="_blank">嫩模写真一区二区三区三州</a>| <a href="http://833077.com" target="_blank">日韩午夜激情电影</a>| <a href="http://666888123.com" target="_blank">久久久亚洲国产天美传媒修理工 </a>| <a href="http://wnboke.com" target="_blank">在线精品视频一区二区</a>| <a href="http://fjrxzscl.com" target="_blank">欧美日韩国产综合网</a>| <a href="http://10669p.com" target="_blank">欧美一区二区免费</a>| <a href="http://www-14333.com" target="_blank">亚洲精品少妇</a>| <a href="http://caobenfan1891.com" target="_blank">亚洲国产日韩欧美一区二区三区</a>| <a href="http://my88855.com" target="_blank">欧美另类一区</a>| <a href="http://www-5013.com" target="_blank">久久精品女人</a>| <a href="http://emu160.com" target="_blank">亚洲深夜福利</a>| <a href="http://chinagreetown.com" target="_blank">亚洲一区久久</a>| <a href="http://689558.com" target="_blank">亚洲国产美女久久久久</a>| <a href="http://aijiaoji.com" target="_blank">欧美片在线观看</a>| <a href="http://ju255.com" target="_blank">久久精品国产一区二区三区</a>| <a href="http://cao3e8c8.com" target="_blank">日韩视频精品</a>| <a href="http://www3344xz.com" target="_blank">欧美激情一二三区</a>| <a href="http://b871.com" target="_blank">久久男人资源视频</a>| <a href="http://3451215.com" target="_blank">亚洲男人第一av网站</a>| <a href="http://jzsp94.com" target="_blank">亚洲精品网址在线观看</a>| <a href="http://zyjzz.com" target="_blank">国产在线精品一区二区夜色</a>| <a href="http://www49853b.com" target="_blank">欧美日韩一级黄</a>| <a href="http://337791.com" target="_blank">蜜桃av综合</a>| <a href="http://jzsp94.com" target="_blank">久久精品免视看</a>| <a href="http://sauske.com" target="_blank">午夜视频在线观看一区二区</a>| <a href="http://7343888.com" target="_blank">99日韩精品</a>| <a href="http://seo8138.com" target="_blank">亚洲精品一区久久久久久</a>| <a href="http://www-4012345.com" target="_blank">久热精品视频在线</a>| <a href="http://o3xo.com" target="_blank">久久久午夜精品</a>| <a href="http://8181777.com" target="_blank">久久久人成影片一区二区三区</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>