MessageBox (user32)
Last changed: -106.166.110.35

.
Summary
The MessageBox API(CHS:系统消息框API)

C# Signature:

[DllImport("user32.dll", CharSet=CharSet.Auto)]
public static extern MessageBoxResult MessageBox(IntPtr hWnd, String text, String caption, int options);

uint range:0~6

VB Signature:

Imports System.Runtime.InteropServices
<DllImport("user32.dll", CharSet:=CharSet.Auto)> _
Shared Function MessageBox(ByVal hwnd As IntPtr, ByVal t As String, ByVal caption As String, ByVal t2 As MessageBoxOptions) As MessageBoxResult
End Function

C++ Signature:

[DllImport("user32.DLL", EntryPoint="MessageBox", SetLastError=true, CharSet=CharSet::Auto, CallingConvention=CallingConvention::StdCall)]
MessageBoxResult MessageBox(IntPtr hWnd, String^ Text, String^ Caption, MessageBoxOptions Options);

User-Defined Types:

/// <summary>
/// Flags that define appearance and behaviour of a standard message box displayed by a call to the MessageBox function.
/// </summary>
[Flags]
public enum MessageBoxOptions : uint
{
    Ok         = 0x000000,
    OkCancel       = 0x000001,
    AbortRetryIgnore   = 0x000002,
    YesNoCancel    = 0x000003,
    YesNo          = 0x000004,
    RetryCancel    = 0x000005,
    CancelTryContinue  = 0x000006,

    IconHand       = 0x000010,
    IconQuestion       = 0x000020,
    IconExclamation    = 0x000030,
    IconAsterisk       = 0x000040,
    UserIcon       = 0x000080,

    IconWarning    = IconExclamation,
    IconError      = IconHand,
    IconInformation    = IconAsterisk,
    IconStop       = IconHand,

    DefButton1     = 0x000000,
    DefButton2     = 0x000100,
    DefButton3     = 0x000200,
    DefButton4     = 0x000300,

    ApplicationModal   = 0x000000,
    SystemModal    = 0x001000,
    TaskModal      = 0x002000,

    Help           = 0x004000, //Help Button
    NoFocus        = 0x008000,

    SetForeground      = 0x010000,
    DefaultDesktopOnly = 0x020000,
    Topmost        = 0x040000,
    Right          = 0x080000,
    RTLReading     = 0x100000,
}

/// <summary>
/// Represents possible values returned by the MessageBox function.
/// </summary>
public enum MessageBoxResult : uint
{
    Ok = 1,
    Cancel,
    Abort,
    Retry,
    Ignore,
    Yes,
    No,
    Close,
    Help,
    TryAgain,
    Continue,
    Timeout = 32000
}

Notes:

None.

Tips & Tricks:

Input something

Sample Code C#:

using System;
using System.Runtime.InteropServices;    

class Class1
{
    [DllImport("user32.dll", CharSet=CharSet.Auto)]
    static extern int MessageBox(IntPtr hWnd, String text, String caption, int options);

    [STAThread]
    static void Main(string[] args)
    {
        MessageBox(IntPtr.Zero, "Text", "Caption", 0);
    }
}

Sample Code VB:

MessageBox(IntPtr.Zero, "Text", "Caption", MessageBoxOptions.Ok)

Sample Code C++:

MessageBox(IntPtr::Zero, "Text", "Caption", MessageBoxOptions::OkCancel | MessageBoxOptions::IconWarning);

Alternative Managed API:

System.Windows.Forms.MessageBox.Show

Documentation
MessageBox on MSDN