锘??xml version="1.0" encoding="utf-8" standalone="yes"?>欧美一级久久久,欧美精品乱人伦久久久久久,欧美性理论片在线观看片免费http://m.shnenglu.com/lewislau/archive/2006/03/11/4001.htmllewislau 闃挎湪lewislau 闃挎湪Sat, 11 Mar 2006 03:19:00 GMThttp://m.shnenglu.com/lewislau/archive/2006/03/11/4001.htmlhttp://m.shnenglu.com/lewislau/comments/4001.htmlhttp://m.shnenglu.com/lewislau/archive/2006/03/11/4001.html#Feedback1http://m.shnenglu.com/lewislau/comments/commentRss/4001.htmlhttp://m.shnenglu.com/lewislau/services/trackbacks/4001.html 瀛欓懌VC璁插駭絎旇--WINDOWS紼嬪簭鍐呴儴榪愯鍘熺悊

澹版槑錛?/P>

        鏈漢鏈榪戜篃鍦ㄧ湅瀛欒佸笀鐨勮棰戯紝涓轟簡鍔犲己鐞嗚В錛屾墍浠ユ兂涓浜涜涔︾瑪璁般備絾鏄湪CSDN涓婁竴鎼滅儲錛屽彂鐜板凡緇忔湁鏈嬪弸鍋氫簡鐩稿叧絎旇銆傛牴鎹潰鍚戝璞$殑鈥滅戶鎵庫濊鐐癸紝涓轟簡瑙e喅鍔沖姩鍔涳紝鎵浠ユ垜鎵撶畻鍦ㄤ粬浠殑鍩虹涓婃坊鍔犮佷慨鏀廣傚簲璇ヤ笉娑夊強钁椾綔鏉冧粈涔堢殑涓滀笢鍚э紵錛?/P>

        鎴戝湪BLOG.CSDN.NET/LEWISLAU涓婃悳绱簡涓?nbsp;錛屾湁涓や綅鏈嬪啓浜嗙浉鍏崇瑪璁幫紙鑰屼笖閮芥槸涓鏍風(fēng)殑錛夈備笉鐭ラ亾璋佹墠鏄師浣滆咃紝鎵浠ュ垪鍑轟袱浣岯LOG鍦板潃錛?/P>

http://blog.csdn.net/hhitjsj021                                http://blog.csdn.net/d007879

浠ュ悗鎴戜細鍦ㄥ墠杈堢殑鍩虹涓婁慨鏀廣佸彂鏂囷紒鍛靛懙錛佺戶鎵垮槢錛?/P>

 

 

 

 

windows紼嬪簭璁捐鏄浜嬩歡椹卞姩鏂瑰紡鐨勭▼搴忚璁★紝涓昏鍩轟簬娑堟伅鐨勩傚綋鐢ㄦ埛闇瑕佸畬鎴愭煇縐嶅姛鑳芥椂錛岄渶瑕佽皟鐢∣S鏌愮鏀寔錛岀劧鍚嶰S灝嗙敤鎴風(fēng)殑闇瑕佸寘瑁呮垚娑堟伅錛屽茍鎶曞叆鍒版秷鎭槦鍒椾腑錛屾渶鍚庡簲鐢ㄧ▼搴忎粠娑堟伅闃熷垪涓彇璧版秷鎭茍榪涜鍝嶅簲銆?/P>

 

MSG Structure

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

The MSG structure contains message information from a thread's message queue.

Syntax

typedef struct {
    HWND hwnd;   //鎸囩ず涓涓獥鍙g殑鍙ユ焺錛屾敼娑堟伅鍜岄偅涓獥鍙g浉鍏寵仈銆?BR>    UINT message;  //鍏蜂綋鐨勬秷鎭紝鐢ㄦ棤絎﹀彿鏁村艦琛ㄧず
    WPARAM wParam; //鍏充簬娑堟伅鐨勯檮鍔犲弬鏁?BR>    LPARAM lParam; //鍚屼笂
    DWORD time; //32浣嶆暣鏁幫紝琛ㄧず娑堟伅琚姇閫掑嚭鍘葷殑鏃墮棿
    POINT pt; //琛ㄧず鍏夋爣浣嶇疆
} MSG, *PMSG;

 鍙ユ焺錛岃祫婧愮殑鏍囪瘑錛屾搷浣滅郴緇熼氳繃鍙ユ焺鎸囧埌璧勬簮銆傚父瑙佺殑鍙ユ焺鏈夊浘鏍囧彞鏌勶紙HICON錛夛紝鍏夋爣鍙ユ焺錛圚CURSOR錛夛紝紿楀彛鍙ユ焺錛圚WND錛夛紝搴旂敤紼嬪簭鍙ユ焺錛圚INSTANCE錛?BR> 
渚嬪錛氬綋鎸変笅鎸夐敭浼氬彂閫佸嚭WM_CHAR娑堟伅   閫氳繃娑堟伅鐨勯檮鍔犲弬鏁幫紝淇濆瓨瀵瑰簲鐨凙SCII鐮侊紝鍗沖彲鐭ラ亾鎸変笅鐨勬槸閭d釜閿?/P>

 

 


娑堟伅闃熷垪錛?BR>姣忎釜搴旂敤紼嬪簭OS閮戒負瀹冨緩绔嬩竴涓秷鎭槦鍒楋紝娑堟伅闃熷垪鏄釜鍏堣繘鍏堝嚭鐨勭紦鍐插尯錛屽叾涓瘡涓厓绱犻兘鏄竴涓秷鎭紝OS灝嗙敓鎴愮殑姣忎釜娑堟伅鎸夊厛鍚庨『搴忔斁榪涙秷鎭槦鍒椾腑錛屽簲鐢ㄧ▼搴忔繪槸鍙栬蛋褰撳墠娑堟伅闃熷垪涓殑絎竴鏉℃秷鎭紝搴旂敤紼嬪簭鍙栬蛋娑堟伅鍚庝究鐭ラ亾鐢ㄦ埛鐨勬搷浣滃拰紼嬪簭鐨勭姸鎬侊紝鐒跺悗瀵瑰叾澶勭悊鍗蟲秷鎭搷搴旓紝娑堟伅鍝嶅簲閫氳繃緙栫爜瀹炵幇銆?/P>

浣跨敤VC緙栫▼闄や簡鑹ソ鐨凜鍩虹澶栬繕闇瑕佹帉鎻′袱鏂歸潰錛?BR>涓錛屾秷鎭湰韜備笉鍚屾秷鎭墍浠h〃鐨勭敤鎴鋒搷浣滃拰搴旂敤紼嬪簭鐨勭姸鎬併?BR>浜岋紝瀵逛簬鏌愪釜鐗瑰畾鐨勬秷鎭潵璇達紝瑕佽OS鎵ц鏌愪釜鐗瑰畾鐨勫姛鑳藉幓鍝嶅簲娑堟伅銆?/P>


Window紼嬪簭鍏ュ彛錛?BR>int WINAPI WinMain(
  HINSTANCE hInstance,  // 褰撳墠浜嬩緥鍙ユ焺銆?BR>  HINSTANCE hPrevInstance,  // 鍏堝墠浜嬩緥鍙ユ焺銆?BR>  LPSTR lpCmdLine,      // 鍛戒護琛屾寚閽?BR>  int nCmdShow          // 錛堢獥鍙o級鏄劇ず鐨勭姸鎬?BR>);
璇存槑錛歐inMain鍑芥暟鏄疻indows紼嬪簭鍏ュ彛鐐瑰嚱鏁幫紝鐢監(jiān)S璋冪敤錛屽綋OS鍚姩搴旂敤紼嬪簭鐨勬椂鍊欙紝winmain鍑芥暟鐨勫弬鏁扮敱O(jiān)S浼犻掔殑銆?/P>

 

鍒涘緩涓涓畬鏁寸殑紿楀彛闇瑕佺粡榪囦笅闈㈠洓涓搷浣滄楠わ細
涓錛岃璁′竴涓獥鍙g被錛涘錛歐NDCLASS wndcls;
浜岋紝娉ㄥ唽紿楀彛綾伙紱    濡傦細RegisterClass(&wndcls);
涓夛紝鍒涘緩紿楀彛錛?nbsp;     濡傦細CreateWindow(),CreateWindowEX();
鍥涳紝鏄劇ず鍙婃洿鏂扮獥鍙c傚錛歋howWindow(),UpdateWindow();
璇存槑錛氬垱寤虹獥鍙g殑鏃跺欎竴瀹氳鍩轟簬宸茬粡娉ㄥ唽鐨勭獥鍙g被.

 

 

Windows鎻愪緵鐨勭獥鍙g被錛?BR>typedef struct  WNDCLASS {
    UINT    style;        //紿楀彛鐨勭被鍨?BR>    WNDPROC lpfnWndProc;  //紿楀彛榪囩▼鍑芥暟鎸囬拡錛堝洖璋冨嚱鏁幫級
    int     cbClsExtra; //紿楀彛綾婚檮鍔犲瓧鑺傦紝涓鴻綾葷獥鍙f墍鍏變韓銆傞氬父0銆?BR>    int     cbWndExtra; //紿楀彛闄勫姞瀛楄妭銆傞氬父璁句負0銆?BR>    HANDLE  hInstance;  //褰撳墠搴旂敤紼嬪簭浜嬩緥鍙ユ焺銆?BR>    HICON   hIcon;      //鍥炬爣鍙ユ焺 LoadIcon();
    HCURSOR hCursor;    //鍏夋爣鍙ユ焺 LoadCursor();
    HBRUSH  hbrBackground; //鐢誨埛鍙ユ焺 (HBRUSH)GetStockObject();
    LPCTSTR lpszMenuName;  //鑿滃崟鍚嶅瓧
    LPCTSTR lpszClassName; //綾葷殑鍚嶅瓧
} WNDCLASS錛?PWNDCLASS;


紿楀彛綾誨瀷style涓轟竴涓彉閲忥紝璇ュ彉閲忔瘡涓浣嶅搴旂潃涓縐嶇壒鎬с傚搴斾負1鏃訛紝鏈夎縐嶇壒鎬э紱瀵瑰簲涓?鏃訛紝鏃犺縐嶇壒鎬с備負浜嗘柟渚胯蹇嗭紝鐢ㄤ竴浜涘畯瀵瑰簲涓浜涚壒寰侊紝閫氳繃鍙栧弽錛堬綖錛夊拰鐩鎬笌錛?amp;錛夊彲浠ュ彇娑堜竴浜涚壒鎬с?nbsp; 閫氬父璁劇疆涓?CS_HREDRAW | CS_VREDRAW"琛ㄧず鍨傜洿閲嶇粯鍜屾按騫抽噸緇樸?/P>

HICON鍙互鐢盠oadIcon 璧嬪鹼紙瀹冩湁涓や釜鍙傛暟HINSTANCE鍜孡PCTSTR錛岄氬父絎竴涓弬鏁頒負絀猴紝鍙絎簩涓弬鏁拌祴鍊鹼紝鍗沖浘鏍囩殑ID錛?BR>HCURSOR鍚孒ICON
HBRUSH 浣跨敤GetStockObject鍑芥暟錛屽畠鍙互鐢ㄦ潵鑾峰彇絎斻佺敾鍒楓佸瓧絎︺佽皟璇曟澘鐨勭敾鍒楓備嬌鐢ㄦ椂瑕佺敤HBRUSH鍋氫竴鐩村己鍒惰漿鍖栥傚洜涓篏etStockObject榪斿洖鍊煎拰HBRUSH涓嶅悓銆?/P>

紿楀彛綾繪敞鍐岋細
ATOM RegisterClass(
  CONST WNDCLASS *lpWndClass   // address of structure with class
                              // data
);
//娉ㄦ剰錛屾槸浣跨敤鍦板潃絎?/P>

 


鍒涘緩紿楀彛錛?BR>HWND CreateWindow(
  LPCTSTR lpClassName,  //娉ㄥ唽紿楀彛綾誨悕錛岀敤寮曞彿
  LPCTSTR lpWindowName, //紿楀彛鏍囬錛岀敤寮曞彿
  DWORD dwStyle,        //紿楀彛綾誨瀷錛堥鏍鹼級閫氬父涓?WS_OVERLAPPEDWINDOW)
  int x,                // 紿楀彛X鍧愭爣
  int y,                // 紿楀彛X鍧愭爣
  int nWidth,           // 瀹藉害
  int nHeight,          // 楂樺害
  HWND hWndParent,      // 鎸囧悜鐖剁獥鍙g殑鍙ユ焺
  HMENU hMenu,          // 鑿滃崟鍙ユ焺
  HANDLE hInstance,     // 褰撳墠瀹炰緥鐨勫彞鏌勶紝鐢盬INMAIN浼犻?BR>  LPVOID lpParam        // WM_CREATE闄勫姞鍙傛暟浼犲叆鎸囬拡
);
鍒涘緩紿楀彛鐨勬椂鍊欎細鍙戦乄M_CREATE娑堟伅


鏄劇ず鍜屾洿鏂扮獥鍙g獥鍙o細
BOOL ShowWindow(
  HWND hWnd,     // handle to window
  int nCmdShow   // show state of window
);
BOOL UpdateWindow(
  HWND hWnd   // handle of window  閫佸嚭WM_PAINT娑堟伅
);


娑堟伅寰幆
MSG msg;
while(GetMessage(&msg,...))    //浠庢秷鎭槦鍒椾腑鍙栧嚭涓鏉℃秷鎭?BR>{
 TranslateMessage(&msg); //榪涜娑堟伅錛堝閿洏娑堟伅錛夎漿鍖栥傝漿鍖栬繃紼嬩笉浼氬獎鍝嶅師娑堟伅錛屽彧浼氬垱寤烘柊鐨勬秷鎭?BR> DispatchMessage(&msg); //鍒嗘淳娑堟伅鍒扮獥鍙g殑鍥炶皟鍑芥暟澶勭悊,錛圤S璋冪敤紿楀彛鍥炶皟鍑芥暟榪涜澶勭悊錛夈?BR>}

BOOL GetMessage(
  LPMSG lpMsg,         // 娑堟伅緇撴瀯浣撳彉閲?BR>  HWND hWnd,           // 鍙ユ焺錛岄偅涓竴涓獥鍙o紵涓篘ULL鍒欎負鎵鏈夌獥鍙e彞鏌?BR>  UINT wMsgFilterMin,  // 鏈灝忔秷鎭鹼紝涓?鏃惰繑鍥炴墍鏈夋秷鎭?BR>  UINT wMsgFilterMax   // 鏈澶ф秷鎭?BR>);

 

鍥炶皟鍘熺悊錛氬綋搴旂敤紼嬪簭鍙楀埌緇欐煇涓獥鍙g殑娑堟伅鏃訛紝灝卞簲璋冪敤鏌愪竴鍑芥暟鏉ュ鐞嗚繖鏉℃秷鎭傝繖涓娑堟伅鏈夋搷浣滅郴緇熻嚜鍔ㄥ畬鎴愩?/P>

娉細鍑芥暟鍚嶅彲浠ョ敤浠ヨ〃紺哄嚱鏁頒唬鐮佺殑棣栧湴鍧錛堝嚱鏁版寚閽堬級錛岄澶栨暟鎹氬父涓?銆?/P>


紿楀彛榪囩▼鍑芥暟錛堝洖璋冨嚱鏁幫級鍘熷瀷錛?BR>LRESULT CALLBACK WindowProc(  //榪欓噷W(xué)indowProc鏄釜浠e彿鍚嶅瓧銆?BR>  HWND hwnd,      // handle to window
  UINT uMsg,      // message identifier
  WPARAM wParam,  // first message parameter
  LPARAM lParam   // second message parameter
);
璇存槑錛氫袱縐嶅嚱鏁拌皟鐢ㄧ害瀹氾紙__stdcall 鍜?__cdecl錛夛細
#define CALLBACK    __stdcall
//__stdcall 鏍囧噯璋冪敤棰勫畾錛屾槸PASCAL 璋冪敤綰﹀畾錛岃薄DELPHI浣跨敤鐨勫氨鏄爣鍑嗚皟鐢ㄧ害瀹?BR>#define WINAPIV     __cdecl 
// __cdecl 鏄疌 璇█褰㈠紡鐨勮皟鐢ㄧ害瀹氥?BR>涓昏鍖哄埆錛氬嚱鏁板弬鏁頒紶閫掗『搴?鍜?瀵瑰爢鏍堢殑娓呴櫎涓娿?BR>闂錛氶櫎浜嗛偅浜涘彲鍙樺弬鏁扮殑鍑芥暟璋冪敤澶栵紝鍏朵綑鐨勪竴鑸兘鏄痏_stdcall綰﹀畾銆備絾 C/C++緙栬瘧榛樼劧鐨勬槸__cdecl綰﹀畾銆傛墍浠ュ鏋滃湪VC絳夌幆澧冧腑璋冪敤__stdcall綰﹀畾鐨勫嚱鏁幫紝蹇呴』瑕佸湪鍑芥暟澹版槑鐨勬椂鍔犱笂 __stdcall 淇グ絎︼紝浠ヤ究瀵硅繖涓嚱鏁扮殑璋冪敤鏄嬌鐢╛_stdcall綰﹀畾錛堝浣跨敤DELPHI緙栧啓鐨凞LL鏃跺欙級銆?BR>錛圴C涓彲閫氳繃榪欓斿緞淇敼錛歱roject|settings..|c/c++|...)
鍦ㄧ獥鍙h繃紼嬪嚱鏁頒腑閫氳繃涓緇剆witch璇彞鏉ュ娑堟伅榪涜澶勭悊錛?BR>濡傦細
LRESULT CALLBACK WindowProc( 
  HWND hwnd,
  UINT uMsg,
  WPARAM wParam,
  LPARAM lParam  
)
{
    switch(uMsg)
    {
 case WM_PAINT:
  ...
  break;
 case ...
  break;
 case WM_CLOSE:
  //DestroyWindow(hwnd);
   //閿姣佺獥鍙o紝騫跺彂閫乄M_DESTROY娑堟伅銆?BR>  break;
 case WM_DESTROY:
  //PostQuitMessage(0);
  //鍙戦乄M_QUIT娑堟伅鍒版秷鎭槦鍒椾腑錛岃姹傜粓姝€?BR>         //GetMessage()鍙栧埌WM_QUIT娑堟伅鍚庯紝榪斿洖0錛岄鍑烘秷鎭驚                //   鐜紝浠庤岀粓姝㈠簲鐢ㄧ▼搴忋?BR>  break;
 default:
  return DefWindowProc(hwnd,uMsg,wParam,lParam);
 //鐢ㄧ己鐪佺殑紿楀彛榪囩▼澶勭悊鎴戜滑涓嶆劅鍏磋叮鐨勬秷鎭紙鍏跺畠娑堟伅錛夈?BR> //榪欐槸蹇呴』鐨勩?BR>    }//switch
 return 0;
}//WindowProc


 鍝嶅簲WM_DESTROY錛岃皟鐢≒ostQuitMessage(int)緇撴潫榪涚▼銆傚畠浼氭姇閫掍竴涓猈M_QUIT娑堟伅瀵規(guī)秷鎭槦鍒椾腑銆傚綋娑堟伅寰幆鐨凣etMessage鍙栧埌WM_QUIT娑堟伅錛屽垯榪斿洖0錛岀▼搴忕粨鏉熴?BR> 鍙﹀瀵逛簬涓嶆劅鍏磋叮鐨勬秷鎭鏅薄緙虹渷鐨勫鐞嗭紝浣跨敤DefWindowProc錛堬級鍐呬負紿楀彛鐨勫弬鏁般?/P>

 


鍏充簬DC鍙ユ焺鑾峰彇錛?BR>a)浣跨敤BeginPaint(),EndPaint()瀵廣傛敞鎰忓彧鑳藉湪鍝嶅簲WM_PAINT娑堟伅鏃朵嬌鐢ㄣ?BR>b)浣跨敤GetDc(),ReleaseDC()瀵廣傛敞鎰忎粬浠笉鑳藉湪鍝嶅簲WM_PAINT涓嬌鐢?BR>



lewislau 闃挎湪 2006-03-11 11:19 鍙戣〃璇勮
]]>
銆愬師鍒涖戞垜鍦ㄦ垚閮藉綋紼嬪簭鍛?http://m.shnenglu.com/lewislau/archive/2006/03/11/4000.htmllewislau 闃挎湪lewislau 闃挎湪Sat, 11 Mar 2006 03:18:00 GMThttp://m.shnenglu.com/lewislau/archive/2006/03/11/4000.htmlhttp://m.shnenglu.com/lewislau/comments/4000.htmlhttp://m.shnenglu.com/lewislau/archive/2006/03/11/4000.html#Feedback8http://m.shnenglu.com/lewislau/comments/commentRss/4000.htmlhttp://m.shnenglu.com/lewislau/services/trackbacks/4000.html 銆愬師鍒涖戞垜鍦ㄦ垚閮藉綋紼嬪簭鍛?

棰樿錛氬墠鍑犲ぉ鍑哄幓鎰熷彈涓涓嬶紝鎰熻Е棰囨繁錛屽彂瑙夎嚜宸辯湡鐨勫緢閫娿傜幇鍦ㄥ洖鍒版竻闈欑殑鏍″洯錛岃嚜宸辮寰楀簲璇ユ洿鍔犲姫鍔涖傜ぞ浼氱湡鐨勪笉鏄垜浠兂鐨勯偅鏍鳳紝宸ヤ綔涔熶笉鍍忓涔犱竴鏍瘋交鏉俱傚彧甯屾湜鍚勪綅鏈嬪弸鍦ㄨ蛋鍑烘牎闂紝榪堝悜紺句細鐨勮繃紼嬩腑錛屼竴鍒囬『鍒╋紒

 鍦ㄦ垚閮藉緟浜嗕竴涓槦鏈燂紝紜垏鐨勮鍙湁鍏ぉ銆傚湪榪欏叚澶╅噷闈紝鎴戝畬瀹屽叏鍏ㄦ槸涓涓墦宸ョ殑錛屼竴涓ぞ浼氫笂鐨勪漢錛屼竴涓▼搴忓憳銆傚惉涓婂幓澶氱墰B錛岀▼搴忓憳鍟婏紝榪欎釜鍙槸鎴戞ⅵ瀵愪互姹傜殑鑱屼笟鍟婏紝鍙槸浜嬪疄涓婁竴鍒囬兘涓嶆槸鎴戞兂鐨勯偅鏍瘋緣鐓屻傛垜榪欏嚑澶╄剳嫻烽噷鍙嶅嫻幇涓鍙ヨ瘽錛岀▼搴忓憳鐨勭殑紜‘鏄崄鍒嗚緵鑻︾殑鑱屼笟銆?BR> 鎴戞墍鍦ㄧ殑鍏徃鏄竴瀹舵父鎴忓鎸傚叕鍙革紝涓撻棬鍋氭父鎴忓鎸傘備粠紺句細鐨勮搴︽潵璇達紝榪欑鈥滃嬀鎼濆彧鑳芥殫綆辨搷浣滐紝濡備粖鍗磋繕鏄庣洰寮犺儐鐨勨滃紑寮犺惀涓氣濓紝紜疄鎼炵瑧錛涗粠鎶鏈殑瑙掑害鏉ヨ錛屾父鎴忓鎸傦紝鍒╃敤HOOK鎷︽埅鏁版嵁鍖呫佽В瀵嗐佷慨鏀廣佸皝鍖咃紝鏍鋒牱閮芥槸瀹夊叏鏂歸潰鐨勬瘮杈冪墰B鐨勬妧鏈紝鍦ㄦ病鏈夎繘榪欎釜鍏徃涔嬪墠錛屾垜娌℃湁鎯寵繃涓騫翠互鍐呬細鎺ヨЕ鍒拌繖浜涘簳灞傜殑鎶鏈傛墍鏈夎鍏徃瀵規(guī)垜鏉ヨ錛屾湁浜涘け鏈涖佷絾鏄篃鏈変竴浜涙湡鏈涖?BR> 浠ュ墠鍦ㄧ壞闃籌紙瀹朵埂錛夌殑涓浜涘皬IT鍏徃涔熺帺鍎胯繃錛屼絾鏄繖嬈℃槸鐙嚜鍦ㄥ錛屼粈涔堥棶棰橀兘瑕佽嚜宸辮В鍐籌紝鎵鏈変粠鍚勪釜鏂歸潰鏉ヨ錛岄兘鏄嚜宸辯殑涓浜涙柊鐨勫皾璇曘備笉榪囪繕濂界殑鏄紝榪欐鎴戞槸鍜屾湅鍙嬩竴鍒囧幓鎴愰兘鈥滃疄涔犫濄傚懙鍛碉紝涓嶈繃鎴戞瘮浠栧ソ鐨勫氨鏄紝浠栧湪鐢?shù)淇¤璁¤鍒掗櫌瀹炰範涓変釜鏈堝Q屾病鏈夊疄涔犲伐璧勶紝涓変釜鏈堣漿姝o紱鑰屾垜瀹炰範涓涓湀瀹炰範宸ヨ祫涓鍗冿紝涓涓湀鍚庤漿姝o紝鏍規(guī)嵁鎯呭喌鑰屽畾宸ヨ祫錛岃〃鐜扮殑濂界殑璇濆湪3K宸﹀彸錛堝惉涓婂幓鎸哄惛寮曚漢鐨勶紝浣嗘槸鐪熺殑寰堢瘡錛夈?BR> 鎴戜滑鍒版垚閮藉彧鐢ㄤ簡2涓皬鏃舵壘浜嗕竴澶勪綇鎴匡紝鍚堢錛?50涓鏈堬紝鍙湁涓寮犲簥鍜屼竴涓功妗岋紙澶╁暒錛屾垚閮界殑鎴夸環(huán)鐪烼MD鐨勫悡姝諱漢錛夈傚敮涓姣旇緝嬈f叞鐨勬槸鎴戜滑浣忓湪宸濆ぇ澶栭潰錛屾琛屽埌宸濆ぇ鍙5鍒嗛挓錛屽師鍏堣鎯崇殑鏄瘡澶╀笅鐝幓宸濆ぇ鏁欏鍘諱笂鑷範錛屽彲鏄幇瀹炲線寰涓庤鎯蟲湁寰堝ぇ鐨勫樊璺濓紝姣忓ぉ鍥炲埌瀹剁瘡鐨勭畝鐩翠功閮戒笉鎯崇湅銆傦紙鐧藉ぉ鍦ㄥ叕鍙歌嚦灝戠湅6涓皬鏃朵互涓婄殑鏂囨。錛屽榪欓偅涓?5瀵哥殑CRT錛屾垜綆鐩翠竾鍒嗙殑涓嶇埥錛屽叕鍙擱噷闈?0澶氫漢灝辨垜涓涓敤CRT鏄劇ず鍣紝鎴戦潬錛屾璐熸垜錛燂紵錛侊級姣忔櫄鍜屾湅鍙嬪湪宸濆ぇ杞?zhèn)犱袱鍦垶鍥炲幦潩¤锛寴q欑鐢熸椿錛岃鎴戝洖蹇嗚搗涓ゅ瞾鐨勬椂鍊欏閲岃繕涓嶆櫙姘旂殑鐘舵併傛睏錛?BR> 璦褰掓杞紝榪樻槸璇村伐浣滅殑浜嬪効錛屾瘡澶╂垜7錛?0璧峰簥錛岃В鍐沖畬鎵鏈夐棶棰樺ぇ綰?錛?0鍒拌揪杞︾珯錛屾惌涓?9璺紝欏哄埄鐨勮瘽8錛?5浣滅敤鑳藉埌杈鵑珮鍗囨ˉ錛堝叕鍙告墍鍦ㄥ湴錛夛紝鍞夛紝涓嶇姹楅錛屾瘡澶╄鐧界櫧嫻垂澶х害90鍒嗛挓鏃墮棿鎼濺錛屽湪鎴愰兘浜虹湅鏉ワ紝榪欒繕綆楄繎鐨勶紙澶у煄甯傜殑鏄瘮鎴戜滑榪欎簺鍐滄皯媧嬬洏錛夈?鐐瑰乏鍙沖埌杈懼叕鍙革紝涓嶅嚭鎰忓鐨勮瘽鍙湁鎴戞梺杈圭殑浠佸厔姣旀垜鏃╁埌銆傦紙鍏徃鑰佸ぇ鑰冭檻鎶鏈儴緇忓父鍔犵彮錛屾墍浠ュ厑璁告妧鏈儴鐨勫厔寮熶滑9錛?0涓婄彮錛岃繖涓繕澶熶漢鎬у寲銆傦級榪欎綅浠佸厔寰呬細瑕侀噸鐐逛粙緇嶏紝鍏徃閲岄潰灝辮窡浠栨販鐨勬渶鐔燂紝鐗圭墰B銆傝鍒板姞鐝紝鎴戠獊鐒舵兂璧鋒墠鍘誨叕鍙稿拰鎶鏈儴鑰佸ぇ璋堢殑鏃跺欙紝鑰佸ぇ鐗瑰埆浜や唬錛屸滃鏋滀綘鍔犵彮鐨勮瘽錛屾櫄涓婂彲浠ユ墦杞﹀洖瀹躲傛嬁涓婂皬紲紝絎簩澶╁洖鍏徃鎶ラ攢銆傗濇垜姹楋紝鍘熸潵榪欎釜鍏徃鍔犵彮灝辮窡鍠濇按涓鏍烽殢渚褲?BR> 鎴戞墠鍒板叕鍙革紝鎴戠殑宸ヤ綔灝辨槸涓嶅仠鐨勭湅鏂囨。錛屼腑鏂囩殑銆佽嫳鏂囩殑閮界湅銆傦紙鎴戦兘鎬鐤戞垜灞呯劧鑳界湅鎳傝嫳鏂囷級鑰佸ぇ緇欐垜鐨勪換鍔″緢綆鍗曪紝灝變竴鍙ヨ瘽錛氣滃埄鐢℉OOK鎶撳彇紼嬪簭鐨勬暟鎹寘銆傗濅粬榪樼壒鍒氦浠o紝鈥滀笉闇瑕佷綘瑙e瘑鏁版嵁鍖咃紝鎶撳彇灝卞彲浠モ濈湅涓婂幓闄嶄綆浜嗗緢澶ч毦搴﹀摝錛屼絾鏄湁涓や釜浜鴻兘璇佹槑榪欎釜鎴戣繖涓叕鍙鎬笉鏄垜鐜板湪鐨勬按騫寵兘澶熸帴鍙楃殑銆傜涓涓啹SIR錛屼粬璇磋繖涓笢瑗垮浜庢垜鏉ヨ錛岄潪甯擱潪甯稿叿鏈夋寫鎴橈紝甯屾湜鎴戣兘鍒涢犲榪廣傦紙姹楋紝濂囪抗錛侊級絎簩涓槸鏉嶴IR錛屽洖瀛︽牎鍚庢垜緇欎粬璁茶堪鎴戠殑鈥滀綔涓氣濓紝浠栬錛屽摝錛岃繖涓笢瑗垮拰鎴戝笀鍏勭爺絀剁敓鐨勬瘯涓氳璁″緢鍍忋傦紙鎴戝啀涓嬈℃睏棰滐級鎴戞壙璁よ嚜宸辯殑鍠滄鏈夋寫鎴樼殑宸ヤ綔錛屼絾鏄垜榪樻槸寰堟湁鑷煡涔嬫槑錛岀‘鍒囩殑璇存垜寰堣嚜閲忓姏銆?BR> 鎴戞瘡澶╃殑宸ヤ綔灝辨槸鐪嬫枃妗o紝鐪嬬殑鎴戣鐤紝HOOK灞炰簬WINDOWS鐨勬牳蹇冩妧鏈紝瓚嬩簬鎿嶄綔緋葷粺搴曞眰錛岀敤浜庢嫤鎴搷浣滅郴緇熷彂鍑虹殑娑堟伅銆傚浜庢垜鏉ヨ鍐充笉鏄畝鍗曠殑浜嬪効錛屾墍浠ヤ笉鏁㈡噲鎬狅紝鎴戞瘡澶╁氨GOOGLE,MSDN涓婃悳瀵誨叧浜庡畠鐨勪竴鍒囷紝涓枃鐨勮嫳鏂囩殑閮界湅錛岃鐤紒鐪嬬湅鎴戞梺杈圭殑瀹朵紮錛岀幇鍦ㄥ氨鏉ヨ璇翠粬錛屼粬鏄祴璇曢儴鐨勶紝浠栫殑宸ヤ綔灝辨槸涓嶅仠鐨勮嶅悇縐嶅悇鏍風(fēng)殑娓告垙錛堝眳鐒惰嶆父鎴忕湡鐨勮兘鎵懼埌宸ヤ綔錛屾垜綆鐩翠負鎴戜滑瀛︽牎鐨勫厔寮熶滑鎰熷埌嬈f叞錛夛紝鏈夌殑鏃跺欑綉閫熸瘮杈冨崱錛屼粬娌℃硶鑰嶆父鎴忥紝灝卞彧鑳藉灞堜竴涓嬬湅灝忚錛岃繖鏍風(fēng)殑宸ヤ綔璁╂垜緹℃厱鐨勪笉琛屻傚伓灝旂湅鍒頒粬鍐嶄笉鏂殑鎶勫綍鎴夸駭淇℃伅錛屽氨闂粬鏄惁瑕佷拱鎴褲備粬璇達紝鎭┿傛垜灝辯撼闂蜂簡錛岀湅涓婂幓騫寸邯杞昏交鐨勫氨鎯蟲埧瀛愶紝鍏徃鑰嶆父鎴忕殑闅句笉鎴愭嬁8K涓涓湀錛熺戶緇棶鍒幫紝鈥滀綘宸ヤ綔鍑犲勾浜嗗摝錛熼兘鏈夐挶涔版埧浜嗭紵鈥濃滄垜宸ヤ綔浜嗛兘浜斿勾浜嗭紝鎴戜竴涓湀1500錛屼竴騫村瓨涓嶅埌5000銆傞潬鑷繁鐨勮瘽閮戒笉鐭ラ亾浠涔堟椂鍊欐墠鑳戒拱鍝︺併傚叾瀹炴槸鎴戠埗姣嶇粰閽便傗濈粓浜庡彂鐜頒竴涓瘮鎴戣繕寮虹殑浜轟簡銆備簨鍚庯紝鎴戠粰鎴戠埜濡堟墦鐢?shù)璇濇眹鎶ユ垜鐨剺q戝喌錛岄棽鑱婂埌姝や簨鍎匡紝鍙惉鐢?shù)璇濋偅杈逛竴鐗囧瘋闈欙紝鎴戠埜鑰嶅彞鈥滀綘緇欐垜璇磋繖浜涳紝闅句笉鎴愪綘榪樿鎴戜滑緇欎綘鍑嗗閽變拱鎴垮瓙錛熲濓紙涓婂笣浣滆瘉錛屾垜緇濆娌¢偅涔堟兂錛夈?BR> 姣忓ぉ鍚冨崍楗ぇ綰﹀崐灝忔椂涓嶉潰瀵歸偅鍙伓鐨凜RT錛屽叾浣欐椂闂村氨閫冧笉榪囨旦鍔紝鐜板湪鐢ㄥ埌絎旇鏈槸鐖藉摝錛岃嚦灝戜笉鏄疌RT鐨勩傚叕鍙擱噷闈㈠熀鏈笂閮借鐜╁効娓告垙錛岃繕鏈変漢琚洍榪囧笎鍙楓傦紙鎴戜滑閮芥槸騫插湴涓嬬敓鎰忕殑錛岃繕琚漢瀹墮粦鍚冮粦錛燂紒錛夋垜灝辨兂錛屽啓涓湪椹浜庢垜浠叕鍙哥殑鍑犱釜楂樻墜鏉ヨ緇濆鏄皬鑿滀竴紕燂紝浣嗘槸鑷繁鐨勫笎鍙瘋鐩椾簡榪樻槸娌″姙娉曪紝璇翠笉瀹氬氨鏄嚜宸辯殑鏈ㄩ┈鐩楃殑鑷繁鐨勫笎鍙楓?BR> 鍏徃榪樻湁涓涓コ紼嬪簭鍛橈紝浣╂湇鍟娿備粖澶╀篃鏄笁鍏濂寵妭錛屽悜鐗汢鐨勫コ紼嬪簭鍛樿嚧鏁紒
 姣忓ぉ涓嬪崍鍏偣錛屽叾瀹為偅涓椂鍊欐垜閮藉彲浠ョ寮浜嗭紝浣嗘槸鎶鏈儴鎵鏈夊悓鍍氬姞鐝紙闄や簡鎴戯紝鍥犱負鎴戞槸鏂版潵鐨勶紝榪樺仛涓嶄簡浜嬪効銆傦級鎵浠ユ垜涔熶笉濂借蛋鐨勫お蹇紝鎱㈡參鑵捐吘鐨勭(鍒板叚鐐逛竴鍒繪墠紱誨紑鍏徃錛屽洖瀹跺挴銆?BR> 涓婇潰鎵鏈夎鏂囷紝涔熻浣犺繕娌℃劅瑙夊埌杈涜嫤錛屽洜涓烘湁浜涚粏鑺傜殑浜嬪効鍐嶈璇達細
 鎴戞瘡澶╀笂鐝惌涔樺叕杞︼紝澶х害涓鍏辮绔?0鍒嗛挓錛岀粷瀵規(guī)湁灝戞棤澶氥備笂鐝繕濂斤紝浜哄茍涓嶅錛涙垜澶ф鎻忚堪涓嬫垜涓嬬彮鐨勬儏鍐碉紝鎴戠涓澶╀笅鐝瓑浜嗕袱杈?9璺悗鎹㈡垚77璺紝緇撴灉澶氭琛屼簡鍥涘崄鍒嗛挓鐨勬牱瀛愶紝鍒板鐨勬椂鍊欓兘蹇?0錛?0浜嗭紝榪樻病鍚冮キ銆傚悗鏉ユ垜鎼?9璺紝澶ф鎯呭喌鏄紝鏈潵鏄墠闂ㄩ忓竵涓婅濺鐨勶紝鎴戝彧鑳戒粠鍚庨棬涓婏紝涓婅濺鍚庤創(chuàng)鍦ㄨ濺闂紝閫斾腑璺繃瑕佷笅杞︾殑鎴戣繕瑕佷粠鍚庨棬涓嬫潵璁╁埆浜轟笅杞︺傛垜闈狅紝榪欎笅鎰熻鍒版瘺澶х埛鐪熶笉瀵癸紝鍟ュ瓙浜哄鍔涢噺澶э紝鐬庢壇錛?BR> 鍥炲埌浣忕殑鍦版柟錛屽悆榪囬キ鐨勬椂闂存槸鏈闅炬墦鍙戠殑銆備互鍓嶅湪瀹剁啲澶滐紝涔熶笉鍙兘鐫$殑澶棭錛屽ぇ姒傛瘡澶╁氨鍗佷竴鐐圭殑鏍峰瓙鐫★紝鏈熼棿鐨勬椂闂村氨涓嶇煡閬撳浣曞鐞嗭紵錛佷竴鍒囧湪瀹舵椂鍊欏氨鐜╁効鐢?shù)鑴戝Q岀幇鍦ㄨ繛涓數(shù)瑙嗛兘鐪嬩笉鍒幫紝鎰熻鑷繁閮戒笌澶栫晫闅旂粷浜嗕竴鏍楓傛瘡澶╁氨鍒板窛澶х殑鏁f暎姝ユ錛岀劧鍚庡洖浣忕殑鍦版柟韜哄湪搴婁笂錛屽彂鍑犳潯鐭俊錛屾墦鍑犱釜鐢?shù)璇濆Q屼究鏃╂棭鐨勭潯鍘匯傝繖涓槸璁╂垜綺劇涓婃渶闅句互蹇嶅彈鐨勫湴鏂廣傛垜闈狅紝鎴戞槸IT浜哄摝錛熶俊鎭椂浠e摝錛燂紒榪欏埌搴曟槸浠涔堣楝肩殑鐢熸椿錛屾垜鏈鍙椾笉浜嗗氨鏄繖涓鐐廣備笉榪囪繕濂斤紝鎴戞槸鍜屾湅鍙嬩竴璧峰嚭鏉ョ殑錛屾櫄涓婅繕鍙互闂茶亰鍑犲彞錛屼笉榪囨兂鎯充互鍚庤鏄竴涓漢鍑洪棬鍦ㄥ錛屾垜浼拌鑷繁鏃╂櫄瑕佺柉銆?BR> 鏅氫笂錛屼功涔熶笉鎯崇湅錛岃鏄互鍚庤繕鏄繖涓牱瀛愶紝鎴戜及璁¤繖杈堝瓙灝卞彧鑳藉綋涓杈堝瓙鐨勫瀮鍦劇▼搴忓憳浜嗐?BR> 鏈夌殑鏃跺欐垜鎯籌紝紼嬪簭鍛樼殑紜潪甯歌緵鑻︼紝鑷繁閫夋嫨榪欐潯閬撹礬瀵逛笉瀵廣傚悗鏉ユ兂浜嗘兂錛屽姫鍔涘仛濂芥瘡涓浠朵簨鍎匡紝鎬繪湁涓澶╂垜鐩鎬俊鑷繁鐨勮兘鍔涘緱鍒伴敾鐐間互鍚庯紝鎴戠浉淇℃佸害鍐沖畾涓鍒囥?BR> 鍞夛紝鐜板湪鍥炲埌瀛︽牎浜嗭紝鐪熺殑寰堝鎰熸?zhèn)熷Q屽ぇ瀹惰繕鏄竴璧峰姫鍔涘惂錛?BR> 鐜板湪鎰熻鍋氱▼搴忕湡鐨勫緢绱紝鑰屼笖浠樺嚭鍜屾敹鍏ユ樉鐒朵笉鏄垚姝f瘮鐨勶紝鐜板湪鏈夌偣涓婁簡璐艱埞鍙堟棤娉曞洖澶達紝浠旂粏鎯蟲兂鍙堟湁鐐圭浉榪芥眰搴撳厠鑸歸暱閭f牱浼犲鐨勪漢鐢燂紝鐭涚浘錛?/P>



lewislau 闃挎湪 2006-03-11 11:18 鍙戣〃璇勮
]]>
銆愬師鍒涖慚FC紼嬪簭璁捐涔嬫潵榫欏幓鑴?/title><link>http://m.shnenglu.com/lewislau/archive/2006/02/18/3320.html</link><dc:creator>lewislau 闃挎湪</dc:creator><author>lewislau 闃挎湪</author><pubDate>Sat, 18 Feb 2006 04:04:00 GMT</pubDate><guid>http://m.shnenglu.com/lewislau/archive/2006/02/18/3320.html</guid><wfw:comment>http://m.shnenglu.com/lewislau/comments/3320.html</wfw:comment><comments>http://m.shnenglu.com/lewislau/archive/2006/02/18/3320.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://m.shnenglu.com/lewislau/comments/commentRss/3320.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/lewislau/services/trackbacks/3320.html</trackback:ping><description><![CDATA[<P> MFC紼嬪簭璁捐<BR>             涔嬫潵榫欏幓鑴?BR> 棰樿錛氬墠浜涙棩瀛愪竴鐩存兂鍐欒繖涓笢瑗匡紝鍋氫簡涓涓紑澶存斁鍦ㄦ垜鐨凚LOG涓?浣嗘槸鍚嶄負<MFC妗嗘灦紼嬪簭WINMAIN鍑芥暟鍒嗘瀽>)錛屽埌鍚庢潵灝辨病鏈夊啀綆′簡錛屽叾瀹為偅鍙槸鍐板北涓瑙?鍏蜂綋MFC鏄庝箞榪愯鐨勶紝榪樻槸娌℃湁浜ゅ緟娓呮錛岃櫧鐒惰嚜宸辯殑BLOG寰堝皯鏈変漢鍏夐【錛屼絾鏄湰鐫鍋氫簨鍎垮氨瑕佸仛鍒板簳鐨勫績鎬侊紝緇х畫瀹屾垚璇ユ枃銆?BR> 璇存槑錛?銆佹湰鏂囦綔鑰呭湪VS2003涓窡韙唬鐮侊紝姝や唬鐮佷負VS2003涓嫹璐濓紝浣跨敤MFC7銆?BR>       2銆佷笉鍚屾鏋剁殑MFC紼嬪簭鐢辨墍涓嶅悓錛屾湰鏂囦互鍗曟枃妗d負渚嬨?BR>          3銆佹湰鏂囪鑰呴渶瑕佹湁涓瀹氱殑SDK鐨勫熀紜錛屼笉闇瑕佸お澶氾紝鑷沖皯鐭ラ亾瀹冪殑鍩烘湰妗嗘灦鍜屾潵榫欏幓鑴夊嵆鍙紒<BR>          4銆佹枃绔犲彧鎯寵搗鍒拌鏄庝綔鐢紝鎵浠ヤ唬鐮佷細鏈変竴浜涘垹闄ゃ?BR> 瀛FC錛岀珶鐒惰繕涓嶇煡閬揗FC鐨凪AIN鍑芥暟鍦ㄤ粈涔堝湴鏂癸紵鎬庝箞榪愯鐨勶紵瀹炲湪涓嶉珮鏄庛?BR> 鐪嬭繃鍊欐嵎(JJHOU)鑰佸笀鐨勩婃繁鍏ユ祬鍑篗FC銆嬬殑錛屽瀹冧竴瀹氬緢鐔熸?zhèn)夈傚懙鍛碉紝鏈枃鏄尞緇欐病鏈夌湅榪囬偅鏈功錛屼絾鏄張寰堝笇鏈涘涔燤FC紼嬪簭璁捐鐨勬湅鍙嬬殑銆傦紙娌℃湁鐪嬭繃閭f湰涔︾殑鏈嬪弸榪樹笉璧跺揩鍘諱拱錛燂級鍏跺疄鏈枃錛屼富瑕佹槸瀵廣婃繁鍏ユ祬鍑篗FC銆嬬鍏珷鐨勪竴涓葷粨鍜岃ˉ鍏呯艦浜嗭紒錛堟湰鏂囨湁璇ヤ功涓嶅悓鐨勫湴鏂癸紝涔熸湁涓浜涚瑪鑰呰嚜宸辯殑瑙佽В錛侊級<BR> 璦褰掓浼犮?BR> 鍋囧浣犵敤AppWizard涓姝ヤ竴姝EXT涓嬫潵錛岀劧鍚庡湪CLASSVIEW涓幓鎵懼WINMAIN鍑芥暟錛岄偅涔堜綘鍙湁澶辨湜銆侻FC鏈澶х殑鐗圭偣鏄粈涔堬紵灝佽錛丮FC鐨勭‘灝佽鐨勫お濂戒簡錛屼互鑷充簬寰堝鎯沖涔燤FC鐨勪漢閮芥湜鑰屽嵈姝ャ傞棽璇濆皯璇達紝榪樻槸緇х畫鎴戜滑浠婂ぉ鐨勮瘽棰橈紝MAIN鍑芥暟錛佸疄璇濆憡璇変綘鍚э紝鍗充嬌浣犳悳绱㈡墍鏈夌殑MFC鐢熸垚鐨勬枃浠訛紝閮芥棤娉曞彂鐜癢INMAIN鐨勫瓧鐪鹼紝閭d箞瀹冨氨榪戝湪浠涔堝湴鏂瑰憿錛?BR> 鎴戠浉淇′綘宸茬粡鎯沖埌錛孧AIN鍑芥暟搴旇鍦ㄤ富瑕佺殑搴旂敤紼嬪簭鏂囦歡涓傞毦閬撴槸鈥滄?zhèn)ㄥ畾涔夌殑绋嬪簭鍚?cpp鈥濊繖涓枃浠訛紵涓嶉敊灝辨槸瀹冦傚啀Crtl+F涓涓嬶紝鐪嬫湁娌℃湁鎴戜滑瑕佹壘鐨刉INMAIN鍑芥暟錛熺湅鏉ヤ綘鍙堣澶辨湜浜嗭紝浣嗘槸浣犳敞鎰忔湁榪欐牱涓鍙ワ細<BR> <BR>/////////////////////////////////////////////////////////////////////////////<BR>// The one and only CMyApp object</P> <P> CMyApp theApp;   //鏈漢寤虹珛鐨勫伐紼嬪悕涓篗y銆?BR> <BR> <BR> 鏄笉鏄緢鐗瑰埆錛屽啀娉ㄦ剰涓涓嬮偅鍙ユ敞閲娾淭he one and only CMyApp object鈥濓紝姣忎釜搴旂敤紼嬪簭鏈変笖鍙敤涓涓狢MyApp瀵硅薄銆傛垜鎯充綘搴旇鎯沖埌浜嗭紝W(xué)inMain鍑芥暟姣忎釜紼嬪簭涔熷彧鑳芥湁涓涓紝閭d箞榪欎釜鍏ㄥ眬瀵硅薄璺焀inMain鍑芥暟鑲畾鏈夎帿澶х殑鍏崇郴錛熸病閿欙紝鐩鎬俊浣犵殑鐩磋銆?BR> 鐗瑰埆娉ㄦ剰錛氭繁鏅揅++緇嗚妭鐨勪漢涓瀹氱煡閬擄紝鍏ㄥ眬瀵硅薄浼樺厛浜嶮AIN鍑芥暟鎵ц鐨勯亾鐞嗐傚鏋滀綘涓嶇煡閬撲篃娌″叧緋伙紝閭d箞鎴戝湪榪欓噷鍛婅瘔浣狅細鈥滃叏灞瀵硅薄浼樺厛浜嶮IAN鍑芥暟鎵ц錛屼笖鏋勫緩浜庢爤涓紝鍒囪錛屽垏璁幫紒鈥?BR> 鐜板湪錛屾垜浠娣卞叆WinMain榪愯鏈哄埗浜嗭紝紜垏鐨勮錛屽簲璇ユ槸MFC鐨勬満鍒訛紒<BR> 棣栧厛錛岀湅鐪婱FC鐨勫簱鏂囦歡鎶婏紝瀹冭兘緇欐垜浠甫鏉ヨ澶氭儕鍠溿傦紙vc6鐨勭浉搴旂殑鐩綍鏄痋Microsoft Visual Studio\VC98\MFC\SRC錛沄C7鐩稿簲鐨勭洰褰曟槸\Microsoft Visual Studio .NET 2003\Vc7\atlmfc\src\mfc錛?BR> 鐜板湪鎴戜滑灝變粠榪欎釜鍏ㄥ眬涓嬫墜錛屽紑濮嬩粖澶╃殑鏃呴斻?BR> CMyApp theApp; <BR> 姝ゆ椂錛岀郴緇熶細鎵цCMyApp鐨勭埗綾伙紙CWinApp錛夋瀯閫犲嚱鏁幫紝鍐嶆墽琛孋MyApp鐨勬瀯閫犲嚱鏁般傦紙鍏堟湁鑰佺埞錛屽啀鏈夊効瀛愶紒錛夛紝姝ゆ椂灝變細璋冪敤CWinApp鐨勬瀯閫犲嚱鏁般?BR> <BR> CWinApp鐨勬瀯閫犲嚱鏁幫紙鍦╒C鎻愪緵鐨凪FC浠g爜涓互鈥滄枃涓殑涓涓瓧鎴栬瘝緇勨濈殑鏂瑰紡鏌ヨ鍏抽敭瀛楋紝姝ゆ椂鎵撳紑APPCORE.CPP錛屼互涓嬩嬌鐢ㄧ浉鍚屾悳绱㈡柟寮忥紝涓嶅啀澶嶈堪銆傦級鎵懼埌浠ヤ笅鍐呭錛?BR> CWinApp::CWinApp(LPCTSTR lpszAppName)<BR> {<BR>  if (lpszAppName != NULL)<BR>   m_pszAppName = _tcsdup(lpszAppName);<BR>  else<BR>   m_pszAppName = NULL;<BR> <BR>  // initialize CWinThread state<BR>  AFX_MODULE_STATE* pModuleState = _AFX_CMDTARGET_GETSTATE();<BR>  AFX_MODULE_THREAD_STATE* pThreadState = pModuleState->m_thread;<BR>  ASSERT(AfxGetThread() == NULL);<BR>  pThreadState->m_pCurrentWinThread = this;<BR>  ASSERT(AfxGetThread() == this);<BR>  m_hThread = ::GetCurrentThread();<BR>  m_nThreadID = ::GetCurrentThreadId();<BR> <BR>  // initialize CWinApp state<BR>  ASSERT(afxCurrentWinApp == NULL); // only one CWinApp object please<BR>  pModuleState->m_pCurrentWinApp = this;<BR>  ASSERT(AfxGetApp() == this);<BR> ... ...<BR> }<BR> OK錛屽氨鍒拌繖閲屽氨鍙互浜嗭紝浠旂粏鐪嬩笂闈唬鐮侊紝瀹冨凡緇忓畬鎴愪簡搴旂敤紼嬪簭綰跨▼棰濈殑鍚姩錛屽畠緇欎簣浜嗘垜浠▼搴忕殑鐢熷懡銆傜幇鍦ㄨ娉ㄦ剰錛?BR>        pThreadState->m_pCurrentWinThread = this;<BR> pModuleState->m_pCurrentWinApp = this;<BR>     榪欎袱琛屼唬鐮佸叾瀹為兘鏄仛鐨勪竴浠朵簨鍎褲?BR>     榪欐浠g爜鐨勬剰鎬濇槸錛岃幏寰椾簡CMyApp鐨勫叏灞瀵硅薄鐨則his鎸囬拡銆?姝ゆ椂浣犺偗瀹氳鐤戦棶錛屼負浠涔堟槸CMyApp鐨勬寚閽堬紵this鐩墠鏄湪CWinApp涓晩錛?nbsp;  瀵規(guī)鎴戠殑絳旀鏄紝鍙槸浣犳槸鐢盋MyApp鐨勫璞″紩鍙戠殑CWinApp鐨勬瀯閫犲晩錛侊紒)榪欎釜鎸囬拡鍙潪涓鑸殑浜虹墿錛岀◢鍚庢垜浠殑寰堝宸ヤ綔閮借闈犲畠瀹屾垚銆?BR>     CWinApp涔嬩腑鐨勬垚鍛樺彉閲忓皢鍥犱負theApp榪欎釜鍏ㄥ眬瀵硅薄鐨勮癁鐢熻岃幏寰楅厤緗拰鍒濆鍊箋?BR>  鏋勯犲畬鐖剁被錛岀幇鍦ㄦ瀯閫犲瓙綾匯傚彲鏄垜浠湅鍒幫紝AppWizard緇欐垜浠殑瀛愮被閲屽畠浠涔堜篃娌″仛錛熸槸鐨勶紝榪欎竴鍒囬兘鍚粠浣犵殑瀹夋帓錛?BR>    CMyApp::CMyApp()<BR>    {<BR> // TODO: add construction code here,<BR> // Place all significant initialization in InitInstance<BR> }<BR> <BR> <BR> <BR>  鎺ヤ笅鏉ュ氨鏄粖澶╃殑涓昏鍎夸簡錛屾悳绱㈠叧閿瓧鈥淲inMain鈥濓紝鍑虹幇寰堝鏂囦歡銆傚埆鎬ワ紝鍥犱負鐜板湪鎴戜滑搴旇鍏堢湅鐪媁inMain鐨勫0鏄庛傛墦寮appmodul.cpp錛?/P> <P>     _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,<BR> LPTSTR lpCmdLine, int nCmdShow)<BR> {<BR> // call shared/exported WinMain<BR> return AfxWinMain(hInstance, hPrevInstance, lpCmdLine, nCmdShow);<BR> }<BR> <BR>榪欓噷_tWinMain鏄負浜嗘敮鎸乁NICODE鑰屽懡鍚嶇殑涓涓畯錛岀湡姝h搗浣滅敤鐨勬槸AfxWinMain錛屾敞鎰忕湅鐪嬪畠鐨勫弬鏁幫紝鏄笉鏄拰SDK鐨刉inMain鍑芥暟涓鏍鳳紵<BR> 鐜板湪鍐嶆悳绱笅AfxWinMain錛屽叾瀹炲湪winmain.cpp涓細<BR> <BR>int AFXAPI AfxWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,<BR> LPTSTR lpCmdLine, int nCmdShow)<BR>{<BR> ASSERT(hPrevInstance == NULL);</P> <P> int nReturnCode = -1;<BR> CWinThread* pThread = AfxGetThread();<BR> CWinApp* pApp = AfxGetApp();</P> <P> // AFX internal initialization<BR> if (!AfxWinInit(hInstance, hPrevInstance, lpCmdLine, nCmdShow))<BR>  goto InitFailure;</P> <P> // App global initializations (rare)<BR> if (pApp != NULL && !pApp->InitApplication())<BR>  goto InitFailure;</P> <P> // Perform specific initializations<BR> if (!pThread->InitInstance())<BR> {<BR>  if (pThread->m_pMainWnd != NULL)<BR>  {<BR>   TRACE(traceAppMsg, 0, "Warning: Destroying non-NULL m_pMainWnd\n");<BR>   pThread->m_pMainWnd->DestroyWindow();<BR>  }<BR>  nReturnCode = pThread->ExitInstance();<BR>  goto InitFailure;<BR> }<BR> nReturnCode = pThread->Run();<BR>... ...<BR>}<BR> 姝ゆ浠g爜娉ㄦ剰浜斾釜緇嗚妭錛?BR> CWinApp* pApp = AfxGetApp(); <BR> 鎰忎負鑾峰緱瀵硅薄鎸囬拡錛屽叾瀹炲氨鏄垰鎵嶉偅涓猅HIS銆備笉璁板緱浜嗭紵鎸囧悜CMyApp鐨勯偅涓紒榪樺煎緱娉ㄦ剰鐨勬槸錛孉fx鎰忔槸鍏ㄥ眬鐨勶紝闅忔椂浣犻兘鍙互璋冪敤瀹冦?AFX灝辨槸MFC寮鍙戝皬緇勭殑寮鍙戜唬鍙鳳紝鎰忎負Application Framework 浼犺X鍙槸涓轟簡濂界湅錛屾病瀹炲湪鎰忔濓紵錛?<BR> if (!AfxWinInit(hInstance, hPrevInstance, lpCmdLine, nCmdShow))<BR> AfxWinInit瀹屾垚浜嗙嚎紼嬬殑鍒濆鍖栧拰紿楁綾葷殑娉ㄥ唽銆傚叿浣撳弬鐪媋ppinit.cpp涓殑瀹氫箟銆?BR> if (pApp != NULL && !pApp->InitApplication())<BR> 鍏跺疄pApp鍜宲Thread鏄悓涓涓寚閽堬紝閮芥槸鎸囧悜CMyApp鐨勬寚閽堬紝榪欓噷鍥犱負CMyApp涓病鏈夊畾涔塈nitApplication錛屽疄闄呬笂灝辮皟鐢ㄧ殑CWinApp::InitApplication錛堬級錛屽畬鎴愪簡MFC鐨勫唴瀹圭鐞嗐?BR> if (!pThread->InitInstance())<BR> 鍥犱負CMyApp涓敼鍐欎簡瀹冿紝鎵浠ヨ皟鐢–MyApp涓殑錛屽叾瀹炲畠涔熸槸鍒濆鍖栧伐浣溿傛鏃朵篃瀹屾垚浜嗛粯璁ょ獥鍙g被鐨勫畾涔夈傚亣濡備綘鐔熸?zhèn)塖DK緙栫▼鐨勮瘽錛屼竴瀹氫笉浼氬繕璁扮獥鍙g被鐨勮璁°佹敞鍐屻佸垱寤恒佺幇瀹炲強鏇存柊鐨勬楠わ紝姝ゆ椂MFC浠ヤ負浣犺璁″ソ浜嗛粯璁ょ殑紿楀彛綾匯?BR> 鐜板湪浣犱笉紱佽鐤戦棶,InitApplication()鍜孖nitInstance()鏈変綍涓嶅悓錛?BR> 絳旀鏄紝鍋囧浣犳墽琛屼竴涓▼搴忥紝浜庢槸涓や釜鍑芥暟閮戒細琚皟鐢紱褰撲綘鍦ㄤ笉鍏抽棴鍓嶄竴涓▼搴忕殑鍓嶆彁涓嬶紝鍐嶆墽琛屼竴涓▼搴忥紝閭d箞灝卞彧鎵ц鍚庝竴涓嚱鏁般?BR> nReturnCode = pThread->Run();<BR> 榪欎釜涓姝ラ鍦ㄣ婃繁鍏ユ祬鍑篗FC銆嬩腑琚垚涓虹▼搴忕殑媧繪按婧愬ご錛屽湪鎴戠湅鏉ュ畠?yōu)鏄綘寮杞﹁俯娌歸棬鐨勬楠ゃ傚緟浼氭垜浠細鍏蜂綋闃愯堪錛?BR> <BR> 鍦ㄨ璁$獥鍙g被浠ュ悗錛屽氨搴旇鏄敞鍐岋紝MFC鑷姩璋冪敤(璺寵漿鍒?AfxEndDeferRegisterClass錛圵INCORE.CPP涓級錛屼負浣犳敞鍐屼簡浜斾釜紿楀彛綾伙紝鍒嗗埆鏄細AfxWnd錛孉fxCreateBar錛孉fxMDIFrame錛孉fxFrameOrView錛孉fxOleControl浠ヤ笂紿楀彛綾籑FC灝嗚嚜鍔ㄨ漿鍖栨垚鐙珛鏃犱簩鐨勭被鍚嶏紝渚涘叾璋冪敤銆?BR> 鍦ㄧ獥鍙g殑娉ㄥ唽浠ュ悗錛屽氨搴旇鏄獥鍙g殑鍒涘緩宸ヤ綔錛屾鏃朵細璋冪敤CFrameWnd::Create(),璇ヤ唬鐮佷綅浜嶹INFRM.Cpp涓?BR>BOOL CFrameWnd::Create(LPCTSTR lpszClassName,<BR> LPCTSTR lpszWindowName,<BR> DWORD dwStyle,<BR> const RECT& rect,<BR> CWnd* pParentWnd,<BR> LPCTSTR lpszMenuName,<BR> DWORD dwExStyle,<BR> CCreateContext* pContext)<BR>{<BR> HMENU hMenu = NULL;<BR> if (lpszMenuName != NULL)<BR> {<BR>  // load in a menu that will get destroyed when window gets destroyed<BR>  HINSTANCE hInst = AfxFindResourceHandle(lpszMenuName, RT_MENU);<BR>  if ((hMenu = ::LoadMenu(hInst, lpszMenuName)) == NULL)<BR>  {<BR>   TRACE(traceAppMsg, 0, "Warning: failed to load menu for CFrameWnd.\n");<BR>   PostNcDestroy();            // perhaps delete the C++ object<BR>   return FALSE;<BR>  }<BR> }</P> <P> m_strTitle = lpszWindowName;    // save title for later</P> <P> if (!CreateEx(dwExStyle, lpszClassName, lpszWindowName, dwStyle,<BR>  rect.left, rect.top, rect.right - rect.left, rect.bottom - rect.top,<BR>  pParentWnd->GetSafeHwnd(), hMenu, (LPVOID)pContext))<BR> {<BR>  TRACE(traceAppMsg, 0, "Warning: failed to create CFrameWnd.\n");<BR>  if (hMenu != NULL)<BR>   DestroyMenu(hMenu);<BR>  return FALSE;<BR> }</P> <P> return TRUE;<BR>}<BR> <BR> 鍏朵腑瀹屾垚浜嗙獥鍙g殑鍒涘緩宸ヤ綔錛岄噷闈㈣繕娑夊強鎵╁睍椋庢牸鐨勮皟鐢–reateEx錛屽叿浣撶粏鑺傝鍙傜湅MSDN銆?BR> <BR> 姝ゆ椂浣犱笉紱佽闂紝鎴戜滑鐨勪簨鍎塊兘璁㎝FC鍋氬畬浜嗭紵宸ヤ笟鍖栫敓浜у嚭鏉ョ殑紿楀彛閮芥槸鍗冪瘒涓寰嬪晩錛屾垜瑕佹湁鎴戣嚜宸辯殑椋庢牸錛?BR> 鍒ワ紝MFC緇欑敤鎴鋒彁渚涗簡涓涓慨鏀圭獥鍙h璁$殑鏈轟細閭e氨鏄細PreCreateWindow(CREATESTRUCT& cs) 浣犲湪MSDN涓煡璇竴涓婥REATESTRUCT榪欎釜緇撴瀯浣擄紝浣犱細鍙戠幇瀹冨拰鎴戜滑鐨凜reateWindow鍑犱箮鏄竴妯′竴鏍鳳紝榪欎釜灝辨槸MFC鐣欑粰浣犱慨鏀圭獥鍙g殑涓涓満浼氥傚湪PreCreateWindow鏃訛紝浼氳煩鍒癈Wnd::PreCreateWindow錛岄噷闈㈡湁涓涓畯錛欰fxDeferRegisterClass錛屽畠鐨勪綔鐢ㄦ槸錛氬鏋滆紿楀彛綾繪病鏈夎娉ㄥ唽錛岄偅涔堝氨娉ㄥ唽瀹冿紱濡傛灉娉ㄥ唽浜嗭紝灝變粈涔堜篃涓嶇錛?BR> 紿楀彛綾葷殑璁捐銆佹敞鍐屻佸垱寤洪兘宸茬粡瀹屾垚錛岀幇鍦ㄥ彧鍓╀笅鏇存柊鍜屾樉紺轟簡銆傝繖浜涘伐浣滈兘浜ょ敱 CMyApp::InitInstance()瀹屾垚錛?BR>  m_pMainWnd->ShowWindow(SW_SHOW);<BR>  m_pMainWnd->UpdateWindow();<BR> 鐜板湪if (!pThread->InitInstance())鐨勫伐浣滃凡緇忓畬鎴愶紝鎸夌収MAIN鍑芥暟鐨勫唴瀹癸紝鎺ヤ笅鏉ヨ錛歯ReturnCode = pThread->Run()浜?BR> 姝ゆ椂搴旇璋冪敤CMyApp鐨凴un()鍑芥暟錛屼絾鏄湪CMyApp綾諱腑錛屾牴鏈病鏈夊0鏄庢垨瀹氫箟榪欐牱涓涓嚱鏁幫紝鏍規(guī)嵁澶氭佹х殑鍘熸潵錛屾寚閽堣縼鍗囷紝鎸囧悜CWinApp::Run()錛屽叾浠g爜浣嶄簬APPCORE.CPP涓細<BR> <BR> int CWinApp::Run()<BR> {<BR>  if (m_pMainWnd == NULL && AfxOleGetUserCtrl())<BR>  {<BR>   // Not launched /Embedding or /Automation, but has no main window!<BR>   TRACE(traceAppMsg, 0, "Warning: m_pMainWnd is NULL in CWinApp::Run - quitting application.\n");<BR>   AfxPostQuitMessage(0);<BR>  }<BR>  return CWinThread::Run();<BR> }<BR> <BR> 鏈鍚庝綘浼氬彂鐜幫紝瀹冪敱璋冪敤浜嗕竴涓狢WinThread::Run()錛屾鏃朵綘灝辯湅涓嶅埌CWinThread::Run()鐨勪唬鐮佷簡錛堣嚦灝戠瑪鑰呮病鏈夋壘鍒幫紝鍥犱負寰蔣鍙彁渚涗簡閮ㄥ垎MFC浠g爜銆傦級浣嗘槸浣犲彲浠ュ湪MSDN涓壘鍒癈WinThread::Run()鐨勬弿榪幫細<BR> Run 鎺у埗綰跨▼鐨勫嚱鏁般傚寘鍚秷鎭車銆備竴鑸笉閲嶅啓銆?<BR> 鍐嶅叿浣撶偣灝辨槸錛?BR> Run acquires and dispatches Windows messages until the application receives a WM_QUIT message. If the thread's message queue currently contains no messages, Run calls OnIdle to perform idle-time processing. Incoming messages go to the PreTranslateMessage member function for special processing and then to the Windows function TranslateMessage for standard keyboard translation. Finally, the DispatchMessage Windows function is called. <BR> Run is rarely overridden, but you can override it to implement special behavior.<BR> This member function is used only in user-interface threads.<BR> 鍘熸潵瀹冩妸娑堟伅寰幆鍖呰浜嗕竴涓嬶紝鍦∕FC涓О涓烘秷鎭槧灝勶紙message map錛夌殑涓滆タ錛佽嚦浜庢秷鎭槧灝勭殑鍏蜂綋緇嗚妭鏈漢浼氬彟鍐欐枃绔犺鏄庯紒<BR> OK錛孧FC涓嶅啀紲炵錛屾帉鎻′簡瀹冪殑鏉ラ緳鍘昏剦錛屽啀鐪嬪叾浠栫殑MFC涔︾睄鐨勬椂鍊欙紝灝辯煡閬撴垜璇ユ庝箞鍋氾紵涓轟粈涔堟垜瑕佽繖鏍峰仛錛熻搗鍒頒簡鐭ュ叾鐒跺張鐭ュ叾鎵浠ョ劧鐨勬晥鏋滐紝榪欏氨鏄垜鎵榪芥眰鐨勬妧鏈鐣屻?BR> <BR> </P><img src ="http://m.shnenglu.com/lewislau/aggbug/3320.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/lewislau/" target="_blank">lewislau 闃挎湪</a> 2006-02-18 12:04 <a href="http://m.shnenglu.com/lewislau/archive/2006/02/18/3320.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>淇偧涔嬮亾http://m.shnenglu.com/lewislau/archive/2006/02/01/3052.htmllewislau 闃挎湪lewislau 闃挎湪Wed, 01 Feb 2006 15:00:00 GMThttp://m.shnenglu.com/lewislau/archive/2006/02/01/3052.htmlhttp://m.shnenglu.com/lewislau/comments/3052.htmlhttp://m.shnenglu.com/lewislau/archive/2006/02/01/3052.html#Feedback1http://m.shnenglu.com/lewislau/comments/commentRss/3052.htmlhttp://m.shnenglu.com/lewislau/services/trackbacks/3052.html淇偧涔嬮亾
    棣栧厛澹版槑鎴戜笉鏄竴涓滀漢鎵嶁濓紝鎴戞槸涓涓瀮鍦撅紝涓嶈繃鎴戣繕鍦ㄨ嫤蹇冧慨鐐兼垚涓烘墍璋撶殑鈥滀漢鎵嶁濓紒鍦ㄦ垜鈥滀慨鐐尖濊繃紼嬩腑欏挎湁鎵鎮(zhèn)燂紝鍐欎簺闅忕瑪錛岄殢渚挎秱楦︿箣絎斻?BR>    浣嗗嚒涓栭棿涓囩墿錛屾棤涓鑳藉閫冭劚涓涓滈亾鈥濆瓧錛佹垜涓嶆槸閬撴暀鐨凢ANS錛屼絾鏄垜榪樻槸瀵瑰叾鎵璋撶殑鈥滈亾鈥濓紝瀛樻湁鏁剰錛佸彲鎯滃皬鐢熶慨琛屽お嫻咃紝榪樿涓嶅嚭涓涓墍浠ョ劧鍑烘潵銆傚彲鏄紝姣忔瘡鍥炴兂浠ュ墠鑷繁璧拌繃鐨勭偣鐐規(guī)淮婊達紝鑻ユ湁鎵鎮(zhèn)燂紵錛?BR>    姣忔鐪嬩功瀛︿範鎶鏈殑鏃跺欙紝鎬昏寰楀皯浜嗕簺浠涔堬紵錛?BR>    浠庣幇鍦ㄥ紑濮嬫垜搴旇姣忓ぉ闂嚜宸憋細鈥滄妧鏈繘姝ヤ簡鍚楋紵錛佹濇兂鍛紵鏂囧寲鍛紵鈥?BR>    鎶鏈紝鏄ぇ瀹墮兘闈炲父鎯寵拷姹傜殑銆傛濇兂鏄彲浠ヤ氦嫻佺殑銆傛枃鍖栧憿錛熶笉瑕佽涓嶇煡閬撴枃鍖栦負浣曠墿錛熶腑鍗庝簲鍗冨勾鐨勪紶緇熸枃鍖栵紝鍚勪綅閮戒慨鐐肩殑濡備綍錛燂紒鎴戠煡閬撹嚜宸卞凡緇忕己澶變簡榪欎竴璇劇▼錛屾墍浠ヤ粠鐜板湪寮濮嬫垜瑕佸姫鍔涜ˉ涓娿?BR>    闅忎究娑傞甫涔嬬瑪錛屽彧鏄彁閱掑悇浣嶏紝鎶鏈箣璺極闀胯岄仴榪滐紝灝辯畻浣犺蛋鍒板敖澶翠篃涓嶄竴瀹氱О鐨勪笂鈥滃悎鏍肩殑浜烘墠鈥濄?BR>    鎴戜滑緇忓父璇粹滄彁楂樼煡璇嗘枃鍖栤濓紝褰蜂經(jīng)澶у娌℃湁娣卞埢鐨勪綋鍛寵繖鍙ヨ瘽錛氱煡璇嗘槸鐭ヨ瘑錛屾枃鍖栨槸鏂囧寲錛屼袱鑰呮槸涓嶇浉鍚岀殑錛?BR>    鎵浠ュ湪姝ゆ彁閱掑悇浣嶁滃湪閿洏涓婅曡樻湭鏉ョ殑浜衡濓紝鍦ㄤ綘淇偧鎶鏈殑鍚屾椂錛屽埆蹇樹簡鏂囧寲淇負鐨勬彁楂橈紝褰撶劧鎬濇兂涔熸槸寰堥噸瑕佺殑錛?BR>

lewislau 闃挎湪 2006-02-01 23:00 鍙戣〃璇勮
]]>
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲无吗在线| 99综合视频| 久久成人综合网| 亚洲男人第一网站| 亚洲激情成人| 亚洲日本成人| 欧美成人在线免费观看| 久久精品国产第一区二区三区最新章节 | 最近看过的日韩成人| 国产日韩欧美中文| 国产毛片精品国产一区二区三区| 国产欧美一区二区精品仙草咪| 国产精品男人爽免费视频1| 一本色道久久综合| 99re这里只有精品6| 欧美一区二区三区精品| 亚洲免费一级电影| 在线日韩精品视频| 国产精品久久久久国产精品日日| 亚洲一区久久久| 欧美激情精品久久久久久变态| 午夜精品成人在线| 亚洲永久精品大片| 99国产麻豆精品| 亚洲欧洲久久| 最新日韩在线视频| 亚洲手机视频| 久久aⅴ国产欧美74aaa| 欧美成年人视频网站欧美| 欧美高清视频在线播放| 久久一区精品| 最新国产成人在线观看| 最新国产成人av网站网址麻豆| 日韩手机在线导航| av成人免费在线观看| 久久天天躁狠狠躁夜夜av| 欧美日韩国产丝袜另类| 国产欧美一区二区精品仙草咪| 亚洲精品国精品久久99热| 亚洲摸下面视频| 久久视频在线免费观看| 亚洲福利av| 亚洲国产精品激情在线观看| 性色av一区二区三区| 欧美激情第三页| 亚洲成人在线视频网站| 夜夜嗨av一区二区三区网站四季av| 亚洲午夜精品国产| 欧美国产亚洲视频| 亚洲综合不卡| 久久综合一区二区三区| 国产精品第十页| 亚洲国产精品www| 久久疯狂做爰流白浆xx| 欧美福利一区二区三区| 久久精品九九| 午夜精品视频网站| 国产精品成人一区二区网站软件| 国产视频精品网| 欧美资源在线| 亚洲免费激情| 欧美亚洲不卡| 欧美日韩在线一二三| 欧美人与禽猛交乱配| 国产手机视频一区二区| 亚洲一区二区不卡免费| 欧美激情精品| 99视频热这里只有精品免费| 欧美成人高清| 激情丁香综合| 麻豆成人综合网| 欧美亚洲网站| 国产欧美精品一区二区色综合| 亚洲午夜影视影院在线观看| 亚洲成在人线av| 欧美成人免费大片| 亚洲国产色一区| 尤妮丝一区二区裸体视频| 美女视频黄 久久| 欧美中文在线观看| 亚洲国产高清自拍| 久久中文在线| 久久看片网站| 一本大道久久a久久精二百| 亚洲丶国产丶欧美一区二区三区| 欧美成人午夜视频| 亚洲麻豆国产自偷在线| 亚洲日本欧美日韩高观看| 国产精品yjizz| 小黄鸭精品密入口导航| 久久国产欧美| 亚洲欧美春色| 午夜精品久久久久久久久久久久| 亚洲欧美不卡| 国产欧美一区二区三区视频| 欧美激情亚洲综合一区| 欧美高清视频一区| 欧美一级黄色网| 久热综合在线亚洲精品| 亚洲精品国产精品国自产观看浪潮| 日韩一级精品| 国产日韩一区二区三区在线播放 | 欧美一二三视频| 日韩视频专区| 亚洲第一福利社区| 亚洲高清视频在线观看| 欧美午夜一区| 久久国产主播| 男女激情久久| 久久成人免费日本黄色| 一本色道精品久久一区二区三区 | 嫩草伊人久久精品少妇av杨幂| 久热精品在线视频| 老司机午夜精品| 亚洲一区二区三区欧美| 欧美伊久线香蕉线新在线| 欧美色综合天天久久综合精品| 久久免费黄色| 日韩视频在线观看免费| 久久夜色撩人精品| 日韩午夜中文字幕| 国产精品免费网站| 毛片基地黄久久久久久天堂| 欧美日韩黄色一区二区| 欧美色区777第一页| 亚洲午夜日本在线观看| 激情五月综合色婷婷一区二区| 久久―日本道色综合久久| 国产欧美 在线欧美| 在线欧美日韩精品| 夜夜嗨av色综合久久久综合网| 国产欧美在线看| 欧美成年人网| 国产一区二区三区在线观看视频 | 国产揄拍国内精品对白| 日韩午夜三级在线| 亚洲国产欧美另类丝袜| 久久久久亚洲综合| 午夜精品久久久久久| 欧美在线免费视屏| 久久久久久999| 国产精品羞羞答答xxdd| 亚洲女人天堂av| 亚洲男女自偷自拍| 免费亚洲网站| 国内揄拍国内精品久久| 亚洲午夜久久久久久久久电影网| 亚洲图片欧洲图片av| 欧美成人首页| 日韩一级视频免费观看在线| 日韩系列在线| 国产精品久久久久一区二区三区共 | 亚洲国产精品成人久久综合一区| 欧美午夜在线视频| 亚洲国产日韩一区| 亚洲国产精品专区久久| 一区二区三区日韩欧美| 中文在线不卡视频| 欧美电影免费| 国内成人精品2018免费看 | 狠狠操狠狠色综合网| 久久精品道一区二区三区| 久久视频在线免费观看| 亚洲国产精品久久人人爱蜜臀 | 香蕉免费一区二区三区在线观看| 欧美丰满高潮xxxx喷水动漫| 久热爱精品视频线路一| 久久久夜夜夜| 久久天堂成人| 国产一区二区在线观看免费播放| 久久一二三四| 亚洲自拍电影| 一本久久青青| 欧美激情综合亚洲一二区 | 蜜桃av噜噜一区二区三区| 美女图片一区二区| 亚洲欧洲综合另类| 亚洲影院色在线观看免费| 欧美日韩一区二区在线视频 | 国产免费成人在线视频| 亚洲福利视频在线| 夜夜嗨av色综合久久久综合网| 影院欧美亚洲| 久久综合婷婷| 99视频热这里只有精品免费| 欧美伦理91i| 国产精品99免费看| 久久久久一本一区二区青青蜜月| 欧美激情第二页| 国产精品国产三级国产专播精品人| 黑丝一区二区三区| 亚洲日本中文| 亚洲欧洲精品一区| 亚洲激情视频| 亚洲一区二区三区视频播放| 久久精品综合网| 精久久久久久久久久久| 欧美色网在线| 亚洲毛片在线观看.| 香蕉国产精品偷在线观看不卡|