锘??xml version="1.0" encoding="utf-8" standalone="yes"?> 姣斿璇碅PI鍑芥暟CreateWindowsEx,API鍘熷瀷濡備笅錛?br> 榪欓噷鎴戝垪鍑哄嚑縐峎INDOWS甯哥敤鐨勫彞鏌勶細 HWND: 鏍囩ず紿楀彛鍙ユ焺 鐢變簬WINDOWS搴旂敤紼嬪簭鍒╃敤WINDOWS娑堟伅鏉ヤ笌鍏跺畠鐨刉INDOWS搴旂敤紼嬪簭鍙奧INDOWS緋葷粺榪涜娑堟伅浜ゆ崲銆傛墍浠ユ秷鎭槸涓涓崄鍒嗛噸瑕佺殑瀵硅薄瀹冪殑緇撴瀯濡備笅銆?/p>
typedef struct{ 2,娑堟伅錛歏C++涓秷鎭兘鐢ㄥ墠緙鏍囩ず娑堟伅鎵灞炵殑鍒嗙被錛屼笅闈㈡垜鏉ヤ粙緇嶄竴涓嬭繖浜涘墠緙 BM琛ㄧず鎸夐挳鎺у埗娑堟伅 鐜板湪鎴戞潵瀵圭郴緇熷父鐢ㄧ殑涓浜涙秷鎭繘琛岃鏄庯細 浠嬬粛浜嗕互涓婄殑榪欎簺鍩虹鍏ラ棬鐭ヨ瘑錛屾垜浠氨鍙互綆鍗曠殑浜嗚В涓涓媁INDOWS API 紼嬪簭鐨勭粍鎴愬熀鏈粨鏋勩傚畠鏄敱鍏ュ彛鍑芥暟WinMain鍜岀獥鍙e嚱鏁板熀鏈鏋訛紝騫跺寘鍚悇縐嶆暟鎹被鍨嬨佹暟鎹粨鏋勪笌鍑芥暟絳夊簲鐢ㄧ粍寤虹粍鎴愮殑銆傚叾涓叆鍙e嚱鏁癢inMain鍜岀獥鍙e嚱鏁版槸WINDOWS搴旂敤紼嬪簭鐨勪富浣撱?/p>
涓涓熀鏈殑WinMain鍑芥暟搴旇鍏鋒湁浠ヤ笅鐨勫姛鑳斤細 (1)鍑芥暟璇存槑 int WINAPI WinMain (2)鍒濆鍖?br>鍒濆鍖栧寘鎷獥鍙g被鐨勫畾涔夈佹敞鍐屻佸垱寤虹獥鍙e疄渚嬪拰鏄劇ず紿楀彛鍥涢儴鍒嗐傦紙鍦ㄤ互鍚庣殑紼嬪簭涓垜灝嗚緇嗙殑浠嬬粛瀹冧滑鍏蜂綋鐨勫疄鐜版柟娉曪級 (3)娑堟伅寰幆 瀹冪殑鍩烘湰鍐欐硶濡備笅錛?/p>
MSG Meg錛?/瀹氫箟娑堟伅
]]>
]]>
銆銆#define銆銆PASCAL銆銆銆銆銆pascal
銆銆#define銆銆NEAR銆銆銆銆銆銆near
銆銆#define銆銆FAR銆銆銆 銆銆銆far
銆銆typedef銆銆unsigned char銆 BYTE
銆銆typedef銆銆unsigned short銆WORD
銆銆typedef銆銆unsigned long銆 DWORD
銆銆typedef銆銆long銆銆銆銆銆銆LONG
銆銆typedef銆銆char 銆銆銆銆銆 *PSTR
銆銆typedef 銆 char NEAR銆銆銆 *NPSTR
銆銆typedef銆銆char FAR銆銆銆銆*LPSTR
銆銆typedef銆銆void銆銆銆銆銆銆VOID
銆銆typedef銆銆int銆銆銆銆銆銆 *LPINT
銆銆typedef銆銆LONG銆銆銆銆銆銆(PASCAL FAR * FARPROC)();
銆銆鍦╓indows.h涓紝浣跨敤typedef榪樺畾涔変簡涓浜涙柊鐨勭粨鏋勭被鍨嬨傝繖浜涚粨鏋勭被鍨嬬殑鍚嶅瓧涔熶嬌鐢ㄥぇ鍐欏艦寮忕殑鏍囪瘑絎︼細
綾誨瀷 璇存槑
MSG 娑堟伅緇撴瀯
WNDCLASS 紿楀彛鐨勭被鐨勭粨鏋?nbsp;
PAINTSTRUCT 緇樺浘緇撴瀯
POINT 鐐圭殑鍧愭爣鐨勭粨鏋?nbsp;
RECT 鐭╁艦緇撴瀯
鎴戜滑鍦ㄨ繖閲屼互綾誨瀷MSG涓轟緥鏉ヨ鏄庣被鍨嬬殑瀹氫箟鏂規硶錛屽浜庡叾瀹冪被鍨嬶紝鍦ㄤ互鍚庣敤鍒版椂鍐嶄綔璇︾粏鍦拌鏄庛傜被鍨婱SG鏄竴涓秷鎭粨鏋勶紝瀹冪殑瀹氫箟鏂瑰紡鍙婂叾鍚勫煙鐨勫惈涔夊涓嬶細
銆銆typedef struct tagMSG {
銆銆銆銆 HWND銆銆銆銆銆hWnd;銆銆// 紿楀彛瀵硅薄鐨勬爣璇嗙錛岃鏉℃秷鎭紶閫掑埌瀹冩墍鏍囪瘑鐨勭獥鍙d笂
銆銆銆銆 UINT銆銆銆 message;銆銆// 娑堟伅鏍囪瘑絎︼紝鏍囪瘑鏌愪釜鐗瑰畾鐨勬秷鎭?/span>
銆銆銆銆 WPARAM銆銆銆wParam;銆銆// 闅忓悓娑堟伅浼犻掔殑16浣嶅弬鏁?/span>
銆銆銆銆 LPARAM銆銆銆lParam;銆銆// 闅忓悓娑堟伅浼犻掔殑32浣嶅弬鏁?/span>
銆銆銆銆 DWORD銆銆銆銆 time;銆銆// 娑堟伅浜х敓鐨勬椂闂?/span>
銆銆銆銆 POINT銆銆銆銆銆 pt;銆銆// 浜х敓娑堟伅鏃跺厜鏍囧湪灞忓箷涓婄殑鍧愭爣
銆銆} MSG;
銆銆typedef銆MSG銆FAR銆*LPMSG;
銆銆鍏朵腑鐨凱OINT綾誨瀷鐨勫畾涔夋槸錛?br>
銆銆typedef銆struct銆tagPOINT {
銆銆銆銆int x; 銆銆銆 /* X鍧愭爣 */
銆銆銆銆int y;銆銆銆銆/* Y鍧愭爣 */
銆銆} POINT;
銆銆typedef銆POINT銆FAR銆*LPPOINT;
銆銆Windows.h鍦ㄥ畾涔夊ぇ閮ㄥ垎綾誨瀷鐨勫悓鏃訛紝榪樺畾涔変簡璇ョ被鍨嬬殑鎸囬拡綾誨瀷銆備緥濡傦紝涓婁緥涓殑LPPOINT鍜孡PMSG絳夛紝鍏朵腑瀛楁瘝鍓嶇紑LP琛ㄧず榪滄寚閽堢被鍨嬶紱鑻ヤ嬌鐢∟P浣滀負涓涓被鍨嬬殑鍓嶇紑錛屽垯琛ㄧず榪戞寚閽堢被鍨嬶紱鑻ヤ嬌鐢≒浣滀負涓涓被鍨嬬殑鍓嶇紑鏃訛紝鍒欒〃紺轟竴鑸殑鎸囬拡綾誨瀷錛岃繖鏃剁敱緙栬瘧紼嬪簭鏃舵墍浣跨敤鐨勫唴瀛樻ā鍧楀喅瀹氳繖縐嶆寚閽堟槸榪滄寚閽堟垨鏄繎鎸囬拡銆傚湪Windows.h涓鏄庣殑澶ч儴鍒嗘寚閽堢被鍨嬮兘閲囩敤榪欓噷浠嬬粛鐨勬柟娉曡繘琛岃鏄庯紝渚嬪錛孡PRECT錛屽畠琛ㄧず涓涓猂ECT綾誨瀷鐨勮繙鎸囬拡銆?br>銆銆鍦╓indows.h涓鏄庣殑澶ч儴鍒嗘寚閽堢被鍨嬩嬌鐢ㄤ簡C/C++鐨勫叧閿瓧const錛屽鏋滀竴涓寚閽堢被鍨嬬殑鍚嶅瓧鍓嶇紑涓篖PC銆丯PC鎴朠C錛屽垯鍏朵腑鐨勫瓧姣岰琛ㄧず榪欑綾誨瀷鐨勬寚閽堝彉閲忔墍鎸囧悜鐨勫彉閲忎笉鑳介氳繃璇ユ寚閽堝彉閲忔潵淇敼錛岃繖縐嶆寚閽堢被鍨嬩竴鑸噰鐢ㄤ笅榪版柟娉曡繘琛岃鏄庯細
銆銆typedef銆const銆POINT銆FAR銆* LPCPOINT;
銆銆typedef銆const銆REC銆銆FAR銆* LPCRECT;
銆銆涓涓嬌鐢╟onst淇グ鐨勬寚閽堬紙縐板叾涓篶onst鎸囬拡錛夊彲浠ユ寚鍚戞病鏈変嬌鐢╟onst淇グ鐨勫彉閲忥紝浣嗘病鏈変嬌鐢╟onst淇グ鐨勬寚閽堜笉鑳芥寚鍚慶onst淇グ鐨勫彉閲忥紝渚嬪錛?br>
銆銆const銆POINT銆pt;
銆銆LPCPOINT銆lpPoint = &pt;銆銆銆// 姝g‘
銆銆LPPOINT銆 lpPoint = &pt;銆銆銆// 閿欒
銆銆褰撳悜鍑芥暟浼犻掑弬鏁版椂錛屽繀欏葷壒鍒敞鎰忚繖涓棶棰橈紝渚嬪錛?br>
銆銆void銆fun(LPPOINT lppt) ;
銆銆......
銆銆LPCPOINT lpPoint ;
銆銆fun(lpPoint) ;
銆銆緙栬瘧鍣ㄥ皢鎸囩ず榪欎釜鍑芥暟璋冪敤璇彞鏄敊璇殑銆傛墍浠ワ紝鍦ㄤ竴涓嚱鏁頒笉淇敼涓涓寚閽堝弬鏁版墍鎸囧悜鐨勫彉閲忕殑鎯呭喌涓嬶紝鏈濂藉皢璇ュ弬鏁拌鏄庝負const鎸囬拡錛屼嬌const綾誨瀷鐨勬寚閽堜篃鑳界敤浜庤鍑芥暟鐨勫弬鏁般俉indows.h涓鏄庣殑澶ч儴鍒嗗嚱鏁頒嬌鐢ㄤ簡const鎸囬拡鍙傛暟銆?br>銆銆鍦╓indows.h涓紝澶у鏁拌鍙ユ槸鐢ㄤ簬瀹氫箟涓涓父閲忥紝渚嬪錛?br>
銆銆#denfine銆WM_QUIT銆0X0012
銆銆璇ヨ鍙ョ敤鏍囪瘑絎M_QUIT鏉ヨ〃紺虹紪鍙蜂負0X0012鐨勬秷鎭傛瘡涓父閲忕敱涓涓墠緙鍜岃〃紺哄叾鍚箟鐨勫崟璇嶇粍鎴愮殑鏍囪瘑絎︾粍鎴愶紝涓よ呬箣闂寸敤涓嬬敾綰塊殧寮銆傚墠緙琛ㄦ槑榪欎簺甯擱噺鎵灞炵殑涓鑸寖鐣淬備笅闈㈡槸涓浜涘墠緙鍜屽畠浠墍灞炵殑鑼冪暣鐨勮鏄庛?br>
綾誨瀷 璇存槑
CS 紿楀彛綾葷殑椋庢牸錛圕lass Style錛?nbsp;
IDI 棰勫畾涔夌殑鍥炬爣瀵硅薄鐨勬爣璇嗙錛圛Dentity of Icon錛?nbsp;
IDC 棰勫畾涔夌殑鍏夋爣瀵硅薄鐨勬爣璇嗙錛圛Dentity of Cursor錛?nbsp;
WS 紿楀彛鐨勯鏍鹼紙Windows Style錛?nbsp;
CW 鍒涘緩紿楀彛錛圕reate Windows錛?nbsp;
WM 紿楀彛娑堟伅錛圵indows Message錛?nbsp;
DT 緇樺埗鏂囨湰錛圖rawing Text錛?nbsp;
鍦ㄥ彉閲忓悕鐨勮〃紺烘柟娉曟柟闈紝Windows鎺ㄨ崘浣跨敤涓縐嶇О涓?#8220;鍖堢墮鍒╄〃紺烘硶”鐨勬柟娉曘傛瘡涓彉閲忓悕鐢ㄥ皬鍐欏瓧姣嶆垨鎻忚堪浜嗗彉閲忕殑鏁版嵁綾誨瀷鐨勫瓧姣嶄綔涓哄墠緙錛屽彉閲忕殑鍚嶅瓧绱ц窡鍏跺悗錛屼笖鐢ㄥぇ鍐欏瓧姣嶅紑濮嬬殑鍗曡瘝錛堜竴涓垨澶氫釜鍗曡瘝錛夎〃紺哄叾鍚箟錛岃繖鏍鋒瘡涓彉閲忛兘鑳介檮鍔犱笂鍏舵暟鎹被鍨嬬殑鍔╄絎︺備緥濡傦細
銆銆WORD銆wOffset ;銆銆/* w琛ㄧずWORD綾誨瀷 */
銆銆DWORD dwValue ;銆銆/* dw琛ㄧずDWORD綾誨瀷 */
銆銆涓嬮潰鏄疻indows涓父浣跨敤鐨勪竴浜涘瓧姣嶅墠緙鍜屽畠浠墍浠h〃鐨勬暟鎹被鍨嬶細
綾誨瀷 璇存槑
b BOOL錛屽竷灝旂被鍨?nbsp;
by BYTE綾誨瀷
c char綾誨瀷
dw DWORD綾誨瀷
fn 鍑芥暟綾誨瀷
i 鏁村瀷
l LONG綾誨瀷
lp 榪滐紙闀匡級鎸囬拡錛?/span>long pointer錛?nbsp;
n 鐭暣鍨?nbsp;
np 榪戯紙鐭級鎸囬拡錛坣ear pointer錛?nbsp;
p 鎸囬拡
s 瀛楃涓?nbsp;
sz 浠?/span>'\0'緇撳熬鐨勫瓧絎︿覆
w WORD綾誨瀷
x short錛岀敤浜庤〃紺篨鍧愭爣鏃?nbsp;
y short錛岀敤浜庤〃紺篩鍧愭爣鏃?nbsp;
Windows紼嬪簭鍛樹篃鍙互鏍規嵁涓婅堪鎬濇兂鍜屼嬌鐢ㄧ洰鐨勶紝鍙戞槑涓浜涘叾浠栫殑鍓嶇紑錛屼絾瑕佹敞鎰忥紝瀵硅繖浜涘墠緙鐨勪嬌鐢ㄥ繀欏諱繚鎸佸墠鍚庝竴鑷淬傚湪Windows涓紝鎵鏈夌殑鍑芥暟鏍規嵁鍏剁敤閫旀潵鍛藉悕錛屽畠浠竴鑸敱2鍒?涓嫳鏂囧崟璇嶇粍鎴愶紝姣忎釜鍗曡瘝鐨勭涓涓瓧姣嶅ぇ鍐欙紝渚嬪錛屽嚱鏁癈reateWindow()錛岀敱璇ュ嚱鏁扮殑鍚嶅瓧鍙互鐭ラ亾瀹冪殑鐢ㄩ旀槸鍒涘緩涓涓獥鍙c?br>HWND CreateWindowEx(
DWORD dwExStyle, // extended window style
LPCTSTR lpClassName, // pointer to registered class name
LPCTSTR lpWindowName, // pointer to window name
DWORD dwStyle, // window style
int x, // horizontal position of window
int y, // vertical position of window
int nWidth, // window width
int nHeight, // window height
HWND hWndParent, // handle to parent or owner window
HMENU hMenu, // handle to menu, or child-window identifier
HINSTANCE hInstance, // handle to application instance
LPVOID lpParam // pointer to window-creation data
);
閭d箞鏍規嵁涓婅堪鍓嶇紑琛ㄥ彲浠ュ緱鍑?dwExStyle闇瑕佷竴涓弻瀛楀?lpClassName涓巐pWindowName闇瑕佷竴涓寚鍚戝瓧絎︿覆鐨勯暱鎸囬拡(鍦∕ASM涓垯鏄亸縐誨湴鍧),x銆亂琛ㄧず闇浼犻掓暣鏁板?nWidth涓巒Height琛ㄧず浼犻掔煭鏁存暟,hWndParent琛ㄧず闇瑕佷竴涓獥鍙e彞鏌?hMenu琛ㄧず浼犻掍竴涓彍鍗曞彞鏌勶紝hInstance琛ㄧず浼犻掔殑鏄▼搴忓疄渚嬪彞鏌?lpParam琛ㄧず鍙互浼犻掗暱鎸囬拡(鍦板潃)銆?br>娉ㄦ剰鐪嬪墠緙鏃惰涓嶈鐪嬪墠闈㈢殑綾誨瀷璇存槑絎︼紝鑰屾槸瑕佺湅璇嶇殑鍓嶇紑錛屽DWORD dwExStyle,鍙渶瑕佺湅dwExStyle灝辯煡閬撲紶閫掔殑鏄弻瀛楁暟銆?br>鍙﹀榪樻湁鍏跺畠鐨勭粍鍚堬紝鍙紼嶆敞鎰忓氨鑳借錛屾瘮濡傝lpfn琛ㄧず鎸囧悜鍑芥暟鐨勯暱鎸囬拡錛屽湪MASM涓垯鏄竴涓嚱鏁扮殑鍦板潃,錛岃繕鏈夊儚lpSecurityAttributes涔嬬被鐨勶紝鍒欐槸鎸囧悜SECURITY_ATTRIBUTES緇撴瀯鐨勯暱鎸囬拡(鍦板潃),lpvBuffer琛ㄧず浼犻掍竴涓紦瀛?Buffer)闀挎寚閽?lp)鎴栬呬負絀?void),榪樻湁涓浜涙病鏈夊墠緙鐨勫垯鏄繖涓瘝宸茬粡瓚沖璇存槑瀹冪殑鎰忔濅簡銆傜瓑絳?鐔熸倝榪欎簺鍓嶇紑鐨勫惈涔夊彲浠ヨ浣犲湪瀛︿範API鐨勬椂鍊欒繘琛屽揩閫熺殑鎺屾彙銆傚茍鑳芥帓闄や竴浜涢敊璇?br>
涓轟簡鏇村ソ鐨勪簡瑙INDOWS緙栫▼錛岃繖閲屾垜蹇呴』浠嬬粛鍑犱釜鍩烘湰鐨勬蹇碉細
1,鍙ユ焺錛氬畠鏄疻INDOWS緙栫▼鐨勫熀紜銆備竴涓彞鏌勬槸鎸嘩INDOWS鍦ㄥ唴瀛樹腑浣跨敤鐨勪竴涓敮涓鐨勬暣鏁拌川錛屾槸涓涓?涓瓧鑺傞暱鐨勬暟鍊鹼紝鐢ㄤ簬鏍囪瘑搴旂敤紼嬪簭涓笉鍚屽璞″拰鐩稿悓瀵硅薄鐨勪笉鍚屽疄渚嬨?/p>
HINSTANCE錛氭爣紺哄綋鍓嶅疄渚嬪彞鏌?br>HCOURSOR錛氭爣紺哄厜鏍囧彞鏌?br>HFONT: 鏍囩ず瀛椾綋鍙ユ焺
HPEN錛氭爣紺虹敾絎斿彞鏌?br>HBRUSH錛氭爣紺虹敾鍒峰彞鏌?br>HDC錛氭爣紺鴻澶囩幆澧冨彞鏌?br>HB99vMP錛氭爣紺轟綅鍥懼彞鏌?br>HICON錛氭爣紺哄浘鏍囧彞鏌?br>HMENU錛氭爣紺鴻彍鍗曞彞鏌?br>HFILE錛氭爣紺烘枃浠跺彞鏌?/p>
HWND hwnd; //媯绱㈡秷鎭殑紿楀彛鍙ユ焺
UN99v message; //浠h〃涓涓秷鎭殑娑堟伅璐?br> WPARAM wParam; //娑堟伅闄勫姞淇℃伅鐨勫瓧鍙傛暟
LPARAM lParam; //娑堟伅闄勫姞淇℃伅鐨勯暱瀛楀弬鏁?br> DWORD time; //娑堟伅鍏ラ槦鏃墮棿
POINT pt; //娑堟伅鍙戦佹椂榧犳爣鐨勪綅緗?point.x;point.y;
} tagMSG;
CB琛ㄧず緇勫悎妗嗘帶鍒舵秷鎭?br>DM琛ㄧず榛樿涓嬪帇寮忔寜閽帶鍒舵秷鎭?br>EM琛ㄧず緙栬緫鎺у埗娑堟伅
LB琛ㄧず鍒楄〃妗嗘帶鍒舵秷鎭?br>SBM琛ㄧず婊氬姩鏉℃帶鍒舵秷鎭?br>WM琛ㄧず紿楀彛娑堟伅
1,WM_LBUTTONDOWN錛?鍗曞嚮榧犳爣宸﹂敭鏃朵駭鐢?br>2,WM_LBUTTONUP錛?鏀懼紑榧犳爣宸﹂敭鏃朵駭鐢?
3,WM_RBUTTONUP錛?鏀懼紑榧犳爣鍙抽敭鏃朵駭鐢?br>4,WM_LBUTTONBLCLK錛?鍙屽嚮榧犳爣宸﹂敭鏃朵駭鐢?br>5,WM_RBUTTONBLCLK錛?鍙屽嚮榧犳爣鍙抽敭鏃朵駭鐢?br>6,WM_KEYDOWN錛?鎸変笅浜嗕竴涓潪緋葷粺閿椂浜х敓鐨勬秷鎭?br>7,WM_CHAR錛?鍚屼笂
8,WM_CREATE錛?鐢盋reateWindow鍑芥暟鍙戝嚭鐨勬秷鎭?br>9,WM_DESTROY錛?娑堥櫎紿楀彛鏃跺彂鍑虹殑娑堟伅
10,WM_QU99v錛?閫鍑虹▼搴忔椂鍙戦佺殑娑堟伅
11,WM_PAINT錛?鍋氫換浣曠Щ鍔ㄦ搷浣滄椂鍙戝嚭鐨勬秷鎭?/p>
1,娉ㄥ唽紿楀彛綾伙紝寤虹珛紿楀彛鍙婃墽琛屽叾浠栧繀瑕佺殑鍒濆鍖栧伐浣?br>2,榪涘叆娑堟伅寰幆錛屾牴鎹粠搴旂敤紼嬪簭娑堟伅闃熷垪鎺ュ彈鐨勬秷鎭紝璋冪敤鐩稿簲鐨勫鐞嗚繃紼嬨?br>3,褰撴秷鎭驚鐜绱㈠埌WM_QU99v娑堟伅鏃朵腑姝㈢▼搴忚繍琛?br>WinMain鍑芥暟鏈変笁涓熀鏈粍鎴愰儴鍒嗭細鍑芥暟璇存槑銆佸垵濮嬪寲鍜屾秷鎭驚鐜?/p>
(
HINSTANCE hThisInst, //搴旂敤紼嬪簭褰撳墠瀹炰緥鍙ユ焺
HINSTANCE hPrevInst, //搴旂敤紼嬪簭鍏跺畠瀹炰緥鍙ユ焺
LPSTR lpszCmdLine, //鎸囧悜紼嬪簭鍛戒護琛屽弬鏁扮殑鎸囬拡
int nCmdShow //搴旂敤紼嬪簭寮濮嬫墽琛屾椂紿楀彛鏄劇ず鏂瑰紡鐨勬暣鏁板兼爣紺?br>)
WINDOWS搴旂敤紼嬪簭鐨勮繍琛屾槸浠ユ秷鎭負鏍稿績鐨勩俉INDOWS灝嗕駭鐢熺殑娑堟伅鏀懼叆搴旂敤紼嬪簭鐨勬秷鎭槦鍒椾腑錛岃屽簲鐢ㄧ▼搴忕殑WinMain鍑芥暟浠庢秷鎭驚鐜彁鍙栭槦鍒椾腑鐨勬秷鎭紝騫跺皢鍏朵紶閫掔粰紿楀彛鍑芥暟鐨勭浉搴旇繃紼嬪鐞嗐?/p>
//(...)鐪佺暐浜嗕竴浜涘唴瀹?br>while (GetMessage(&Meg,NULL,0,0)
{
TranslanteMessage(&Meg);
DispatchMessage(&Meg);
}
]]>
]]>
WinMain鍑芥暟鐨勫畾涔?/span>
WinMain鍑芥暟鐨勫師鍨嬪0鏄庡涓嬶細
int WINAPI WinMain(
HINSTANCE hInstance, // handle to current instance
HINSTANCE hPrevInstance, // handle to previous instance
LPSTR lpCmdLine, // command line
int nCmdShow // show state
);
WinMain鍑芥暟鎺ユ敹4涓弬鏁幫紝榪欎簺鍙傛暟閮芥槸鍦ㄧ郴緇熻皟鐢?span>WinMain鍑芥暟鏃訛紝浼犻掔粰搴旂敤紼嬪簭鐨勩?/span>
絎竴涓弬鏁?span>hInstance琛ㄧず璇ョ▼搴忓綋鍓嶈繍琛岀殑瀹炰緥鐨勫彞鏌勶紝榪欐槸涓涓暟鍊箋傚綋紼嬪簭鍦?span>Windows涓嬭繍琛屾椂錛屽畠鍞竴鏍囪瘑榪愯涓殑瀹炰緥錛堟敞鎰忥紝鍙湁榪愯涓殑紼嬪簭瀹炰緥錛屾墠鏈夊疄渚嬪彞鏌勶級銆備竴涓簲鐢ㄧ▼搴忓彲浠ヨ繍琛屽涓疄渚嬶紝姣忚繍琛屼竴涓疄渚嬶紝緋葷粺閮戒細緇欒瀹炰緥鍒嗛厤涓涓彞鏌勫鹼紝騫墮氳繃hInstance鍙傛暟浼犻掔粰WinMain鍑芥暟銆?/span>
絎簩涓弬鏁?span>hPrevInstance琛ㄧず褰撳墠瀹炰緥鐨勫墠涓涓疄渚嬬殑鍙ユ焺銆傞氳繃鏌ョ湅MSDN鎴戜滑鍙互鐭ラ亾錛屽湪Win32鐜涓嬶紝榪欎釜鍙傛暟鎬繪槸NULL錛屽嵆鍦?span>Win32鐜涓嬶紝榪欎釜鍙傛暟涓嶅啀璧蜂綔鐢ㄣ?/span>
絎笁涓弬鏁?span>lpCmdLine鏄竴涓互絀虹粓姝㈢殑瀛楃涓詫紝鎸囧畾浼犻掔粰搴旂敤紼嬪簭鐨勫懡浠よ鍙傛暟銆?/span>渚嬪錛氬湪D鐩樹笅鏈変竴涓?span>sunxin.txt鏂囦歡錛屽綋鎴戜滑鐢ㄩ紶鏍囧弻鍑昏繖涓枃浠舵椂灝嗗惎鍔ㄨ浜嬫湰紼嬪簭錛?span>notepad.exe錛夛紝姝ゆ椂緋葷粺浼氬皢D:\sunxin.txt浣滀負鍛戒護琛屽弬鏁頒紶閫掔粰璁頒簨鏈▼搴忕殑WinMain鍑芥暟錛岃浜嬫湰紼嬪簭鍦ㄥ緱鍒拌繖涓枃浠剁殑鍏ㄨ礬寰勫悕鍚庯紝灝卞湪紿楀彛涓樉紺鴻鏂囦歡鐨勫唴瀹廣傝鍦?span>VC++寮鍙戠幆澧冧腑鍚戝簲鐢ㄧ▼搴忎紶閫掑弬鏁幫紝鍙互鍗曞嚮鑿滃崟銆?span>Project銆?#8594;銆?span>Settings銆戯紝閫夋嫨“Debug”閫夐」鍗★紝鍦?#8220;Program arguments”緙栬緫妗嗕腑杈撳叆浣犳兂浼犻掔粰搴旂敤紼嬪簭鐨勫弬鏁般?/span>
絎洓涓弬鏁?span>nCmdShow鎸囧畾紼嬪簭鐨勭獥鍙e簲璇ュ浣曟樉紺猴紝渚嬪鏈澶у寲銆佹渶灝忓寲銆侀殣钘忕瓑銆傝繖涓弬鏁扮殑鍊肩敱璇ョ▼搴忕殑璋冪敤鑰呮墍鎸囧畾錛屽簲鐢ㄧ▼搴忛氬父涓嶉渶瑕佸幓鐞嗕細榪欎釜鍙傛暟鐨勫箋?/span>
鍏充簬WinMain鍑芥暟鍓嶇殑淇グ絎?span>WINAPI錛岃鍙傜湅涓嬮潰鍏充簬__stdcall鐨勪粙緇嶃傝鑰呭彲浠ュ埄鐢?span>goto definition鍔熻兘鏌ョ湅WINAPI鐨勫畾涔夛紝鍙互鐪嬪埌WINAPI鍏跺疄灝辨槸__stdcall