及匯倖寔屎議Windows殻會
<貧匯准
和匯准>
園亟Windows殻會?遍枠勣淫根 windows.h 遊猟周。windows.h 珊淫根阻凪麿匯乂Windows遊猟周?箭泌?
宸乂遊猟周協吶阻Windows議侭嗤方象窃侏、痕方圻侏、方象潤更才憲催械楚?匆祥頁傍?侭嗤議Windows API脅壓宸乂遊猟周嶄蕗苧。
壓C囂冱嶄?殻會脅頁“菜徳”議?各葎陣崙岬殻會(Console Application)。宸耗縮殻勣讐議頁揮順中議Windows殻會(Windows Application)?匆各葎GUI殻會(GUI Application)。
陣崙岬殻會參 main() 葎秘笥痕方?Windows殻會參 WinMain() 葎秘笥痕方?強蓑全俊垂(DLL)參 DllMain() 葎秘笥痕方?萩臥心 強蓑全俊垂DLL縮殻??音揖議秘笥痕方畳協阻音揖窃侏議殻會。
WinMain() 痕方議圻侏葎?
泣似“鳩協”賜“函嶧”梓泥?嗽氏起竃匯倖仟議戻幣崇。寄社辛參牌徭塰佩匯和?氏嗤寔糞議悶刮。
圻栖短嗤
MessageBox() 痕方頁巉謹API嶄議匯倖?喘噐起竃匯倖峺協欠鯉議斤三崇?凪圻侏葎?
歌方傍苧?
uType 屶隔議梓泥劔塀?
宸乂梓泥脅頁崎協吶?
茅阻梓泥?uType 珊屶隔夕炎?夕炎斤喘薩嗤戻佰恬喘??
宸乂夕炎匆脅頁崎協吶?
泌惚錬李揖扮協吶梓泥才夕炎議劔塀?辛參聞喘賜塰麻
嚥貧中議斤三崇屢曳?謹竃阻匯倖夕炎?揖扮珊嬬油欺戻幣咄?Win7 嗤?XP 才 Win8 響宀辛參牌徭霞編?。
寄社嗤短嗤窟孖?梓泥脅頁喘噴鎗序崙議及1了?屈序崙念4了?栖燕幣?夕炎脅頁聞喘噴鎗序崙及2了?屈序崙及5~8了?栖燕幣?序佩賜塰麻?耽倖了脅音氏個延?泌和夕侭幣?
Windows 宥狛殊霞及1了議峙栖鳩協梓泥議劔塀?殊霞及2了議峙栖鳩協夕炎劔塀。
壅心栖匯和MessageBox() 議卦指峙。
MessageBox() 卦指瓜梓和議梓泥?參方忖燕幣?宸乂方忖脅瓜協吶撹阻崎?泌和侭幣?
斤哘議崎協吶葎?
- windef.h?児云窃侏協吶
- winbase.h?坪宰痕方
- wingdi.h?喘薩俊笥痕方
- winuser.h? 夕侘譜姥俊笥痕方
宸乂遊猟周協吶阻Windows議侭嗤方象窃侏、痕方圻侏、方象潤更才憲催械楚?匆祥頁傍?侭嗤議Windows API脅壓宸乂遊猟周嶄蕗苧。
壓C囂冱嶄?殻會脅頁“菜徳”議?各葎陣崙岬殻會(Console Application)。宸耗縮殻勣讐議頁揮順中議Windows殻會(Windows Application)?匆各葎GUI殻會(GUI Application)。
陣崙岬殻會參 main() 葎秘笥痕方?Windows殻會參 WinMain() 葎秘笥痕方?強蓑全俊垂(DLL)參 DllMain() 葎秘笥痕方?萩臥心 強蓑全俊垂DLL縮殻??音揖議秘笥痕方畳協阻音揖窃侏議殻會。
WinMain() 痕方議圻侏葎?
int WINAPI WinMain( HINSTANCE hInstance, // 輝念完笥鞘凹 HINSTANCE hPrevInstance, // 念匯倖完笥鞘凹?Win32和葎NULL?Win16藻和議系麗?朕念厮虹喘? LPSTR lpCmdLine, // 凋綜佩歌方 int nCmdShow // 完笥?塋招淑? );枠音勣識噐尖盾宸乂歌方議根吶?厘枠公寄社亟匯倖酒汽議音揮菜徳議、寔屎議Windows殻會?
#include <windows.h>
int WINAPI WinMain(
HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow
){
// 距喘API 痕方MessageBox
int nSelect = MessageBox(NULL, TEXT("低挫?散哭栖欺C囂冱嶄猟利?"), TEXT("Welcome"), MB_OKCANCEL);
if(nSelect == IDOK){
MessageBox(NULL, TEXT("低泣似阻“鳩協”梓泥"), TEXT("戻幣"), MB_OK);
}else{
MessageBox(NULL, TEXT("低泣似阻“函嶧”梓泥"), TEXT("戻幣"), MB_OK);
}
return 0;
}
園咎旺塰佩?氏起竃匯倖斤三崇?泌和侭幣?泣似“鳩協”賜“函嶧”梓泥?嗽氏起竃匯倖仟議戻幣崇。寄社辛參牌徭塰佩匯和?氏嗤寔糞議悶刮。
圻栖短嗤
main()痕方?短嗤#include <stdio.h>議C囂冱殻會匆頁辛參塰佩議?MessageBox() 痕方頁巉謹API嶄議匯倖?喘噐起竃匯倖峺協欠鯉議斤三崇?凪圻侏葎?
int WINAPI MessageBox( HWND hWnd, LPCTSTR lpText, LPCTSTR lpCaption, UINT uType );WINAPI 葎崎協吶
#define WINAPI __stdcall?燕幣痕方距喘圭塀?壙扮辛參音尖氏?音唹峒旗鷹園亟?峪俶勣岑祇MessageBox()卦指峙葎 int?燕幣梓和議梓泥。嗤佶箸議響宀辛參臥心?__stdcall?__cdecl?__pascal?__fastcall議曝艶 歌方傍苧?
- hWnd?乎嶧連崇議幻完笥鞘凹?泌惚緩歌方葎NULL?夸乎嶧連崇短嗤啜嗤幻完笥。寄社音喘識噐尖盾宸倖歌方?朔偬氏峋聾讐盾。
- lpText?嶧連崇議坪否。LPCTSTR 頁徭協吶方象窃侏?吉勺噐 const char *。
- lpCaption?嶧連崇議炎籾。
- uType?斤三崇議梓泥劔塀才夕炎。
uType 屶隔議梓泥劔塀?
| 梓泥 | 根吶 |
|---|---|
| MB_OK | 潮範峙?嗤匯倖“鳩範”梓泥壓戦中 |
| MB_YESNO | 嗤“頁”才“倦”曾倖梓泥壓戦中 |
| MB_ABORTRETRYIGNORE | 嗤“嶄峭”?“嶷編”才“柳狛”眉倖梓泥壓戦中 |
| MB_YESNOCANCEL | 嗤“頁”?“倦”才“函嶧”眉倖梓泥壓戦中 |
| MB_RETRYCANCEL | 嗤“嶷編”才“函嶧”曾倖梓泥壓戦中 |
| MB_OKCANCEL | 嗤“鳩協”才“函嶧”曾倖梓泥壓戦中 |
宸乂梓泥脅頁崎協吶?
#define MB_OK 0x00000000L #define MB_OKCANCEL 0x00000001L #define MB_ABORTRETRYIGNORE 0x00000002L #define MB_YESNOCANCEL 0x00000003L #define MB_YESNO 0x00000004L #define MB_RETRYCANCEL 0x00000005L低匆辛參晦編喘方忖栖燕幣梓泥?箭泌?
MessageBox(NULL, TEXT("低挫?散哭栖欺C囂冱嶄猟利?"), TEXT("Welcome"), 1);
匆氏伏撹嚥貧中屢揖議斤三崇。茅阻梓泥?uType 珊屶隔夕炎?夕炎斤喘薩嗤戻佰恬喘??
| 夕炎 | 根吶 |
|---|---|
| MB_ICONEXCLAMATION | 匯倖妾名催竃孖壓嶧連崇? |
| MB_ICONWARNING | 匯倖妾名催竃孖壓嶧連崇?揖貧? |
| MB_ICONINFORMATION | 匯倖垈筈嶄弌亟忖銚i怏撹議夕炎竃孖壓嶧連崇? |
| MB_ICONASTERISK | 匯倖垈筈嶄弌亟忖銚i怏撹議夕炎竃孖壓嶧連崇?揖貧? |
| MB_ICONQUESTION | 匯倖諒籾炎芝夕炎竃孖壓嶧連崇? |
| MB_ICONSTOP | 匯倖唯峭嶧連夕炎竃孖壓嶧連崇? |
| MB_ICONERROR | 匯倖唯峭嶧連夕炎竃孖壓嶧連崇?揖貧? |
| MB_ICONHAND | 匯倖唯峭嶧連夕炎竃孖壓嶧連崇?揖貧? |
宸乂夕炎匆脅頁崎協吶?
#define MB_ICONHAND 0x00000010L #define MB_ICONQUESTION 0x00000020L #define MB_ICONEXCLAMATION 0x00000030L #define MB_ICONASTERISK 0x00000040L
泌惚錬李揖扮協吶梓泥才夕炎議劔塀?辛參聞喘賜塰麻
|?箭泌?
MessageBox(
NULL,
TEXT("低挫?散哭栖欺C囂冱嶄猟利?"),
TEXT("Welcome"),
MB_OKCANCEL | MB_ICONINFORMATION
);
氏起竃泌和議斤三崇?嚥貧中議斤三崇屢曳?謹竃阻匯倖夕炎?揖扮珊嬬油欺戻幣咄?Win7 嗤?XP 才 Win8 響宀辛參牌徭霞編?。
寄社嗤短嗤窟孖?梓泥脅頁喘噴鎗序崙議及1了?屈序崙念4了?栖燕幣?夕炎脅頁聞喘噴鎗序崙及2了?屈序崙及5~8了?栖燕幣?序佩賜塰麻?耽倖了脅音氏個延?泌和夕侭幣?
Windows 宥狛殊霞及1了議峙栖鳩協梓泥議劔塀?殊霞及2了議峙栖鳩協夕炎劔塀。
壅心栖匯和MessageBox() 議卦指峙。
MessageBox() 卦指瓜梓和議梓泥?參方忖燕幣?宸乂方忖脅瓜協吶撹阻崎?泌和侭幣?
| 卦指峙 | 根吶 |
|---|---|
| IDOK | 喘薩梓和阻“鳩範”梓泥 |
| IDCANCEL | 喘薩梓和阻“函嶧”梓泥 |
| IDABORT | 喘薩梓和阻“嶄峭”梓泥 |
| IDRETRY | 喘薩梓和阻“嶷編”梓泥 |
| IDIGNORE | 喘薩梓和阻“策待”梓泥 |
| IDYES | 喘薩梓和阻“頁”梓泥 |
| IDNO | 喘薩梓和阻“倦”梓泥 |
斤哘議崎協吶葎?
#define IDOK 1 #define IDCANCEL 2 #define IDABORT 3 #define IDRETRY 4 #define IDIGNORE 5 #define IDYES 6 #define IDNO 7
<貧匯准
和匯准>