Убрать кнопки свернуть/закрыть окно - C#

Узнай цену своей работы

Формулировка задачи:

Нашел на форуме статью как заблокировать кнопку закрыть:
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);
    }
}
Но так и не разобрался как заблокировать другие 2 кнопки, а лучше удалить их совсем. нашел ID кнопки закрыть menuID = 61536, подставляем, все работает работает, а вот ID кнопки свернуть menuID = 61472 почему то не работает

Решение задачи: «Убрать кнопки свернуть/закрыть окно»

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);
        }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.769 из 5
Похожие ответы