遍匈 / windows園殻 /

及匯倖寔屎議Windows殻會

<貧匯准 和匯准>
園亟Windows殻會?遍枠勣淫根 windows.h 遊猟周。windows.h 珊淫根阻凪麿匯乂Windows遊猟周?箭泌?
  • 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
<貧匯准 和匯准>

AltStyle によって変換されたページ (->オリジナル) /