Убрать кнопки свернуть/закрыть окно - C#
Формулировка задачи:
Нашел на форуме статью как заблокировать кнопку закрыть:
Но так и не разобрался как заблокировать другие 2 кнопки, а лучше удалить их совсем.
нашел ID кнопки закрыть menuID = 61536, подставляем, все работает работает,
а вот ID кнопки свернуть menuID = 61472 почему то не работает
using System.Runtime.InteropServices;
...
const uint MF_ENABLED = 0x0U;
const uint MF_DISABLED = 0x2U;
[DllImport("user32.dll", SetLastError = true)]
static extern IntPtr GetSystemMenu(
IntPtr hWnd,
bool bRevert
);
[DllImport("user32.dll", SetLastError = true)]
static extern IntPtr EnableMenuItem(
IntPtr hWnd,
uint uIDEnableItem,
uint uEnable
);
[DllImport("user32.dll", SetLastError = true)]
static extern uint GetMenuItemID(
IntPtr hWnd,
uint nPos
);
...
void SetCrossActive(bool enabled)
{
IntPtr hMenu = GetSystemMenu(this.Handle, false);
uint menuID = 0U;
if (hMenu != IntPtr.Zero) {
menuID = GetMenuItemID(hMenu, 6U);
EnableMenuItem(hMenu, menuID, enabled ? MF_ENABLED : MF_DISABLED);
}
}Решение задачи: «Убрать кнопки свернуть/закрыть окно»
textual
Листинг программы
private Point MouseHook;
private void Form1_MouseMove_1(object sender, MouseEventArgs e)
{
if (e.Button != MouseButtons.Left) MouseHook = e.Location;
Location = new Point((Size)Location - (Size)MouseHook + (Size)e.Location);
}