[DllImport("user32.dll")]
static extern bool RemoveMenu(IntPtr hMenu, uint uPosition, uint uFlags);
None.
None.
Please add some!
public class RemoveXButton
{
[System.Runtime.InteropServices.DllImport("user32.dll")]
static extern IntPtr GetSystemMenu(IntPtr hWnd, bool bRevert);
[System.Runtime.InteropServices.DllImport("user32.dll")]
static extern int GetMenuItemCount(IntPtr hMenu);
[System.Runtime.InteropServices.DllImport("user32.dll")]
static extern bool DrawMenuBar(IntPtr hWnd);
[System.Runtime.InteropServices.DllImport("user32.dll")]
static extern bool RemoveMenu(IntPtr hMenu, uint uPosition, uint uFlags);
private const Int32 MF_BYPOSITION = 0x400;
private const Int32 MF_REMOVE = 0x1000;
public static void RemoveCloseButton(Form frm)
{
IntPtr hMenu;
int n;
hMenu = GetSystemMenu(frm.Handle,false);
if(hMenu != IntPtr.Zero)
{
n = GetMenuItemCount(hMenu);
if(n > 0)
{
//Removes the actual Close button
RemoveMenu(hMenu, (uint)(n-1), MF_BYPOSITION|MF_REMOVE);
//Removes the seperator between the Close button and the Maximize button
RemoveMenu(hMenu, (uint)(n-2), MF_BYPOSITION | MF_REMOVE);
DrawMenuBar(frm.Handle);
}
}
}
}
Do you know one? Please contribute it!