using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.InteropServices;
//System.Runtime.InteropServices 命名空間提供各種各樣支援 COM interop 及平台調用服務的成員。
namespace Win32API
{
class Program
{
[DllImport("user32.dll")] //導入user32.dll裡面的所有的API函數(MessageBox()由這裡導入);
public static extern int MessageBox(int hwnd,
string text, string caption, uint type);
//在這裡定義MessageBox()API函數
//extern 修飾符用于聲明在外部實作的方法。
//extern 修飾符的常見用法是在使用 Interop 服務調入非托管代碼時與 DllImport 特性一起使用。
//在這種情況下,還必須将方法聲明為 static
const uint MB_OK = 0; //定義API常數
const uint MB_OKCANCEL = 1;
const int IDOK = 1;
static void Main(string[] args)
{
Program.MessageBox(0, "OnYaeh!", "win32API", MB_OK); //直接調用MessageBox()靜态方法
if (MessageBox(0,"點選下Ok","Ok",MB_OKCANCEL)==IDOK)
{
MessageBox(0, "你點選了Ok", "Ok", MB_OK);
}
else
{
MessageBox(0, "你點選了取消", "Cancel", MB_OK);
}
}
}
}