using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;

namespace HideStart
{
    public partial class Form1 : Form
    {
        /// <summary>
        /// Функция используется для изменения вида экрана.
        /// Вы можете модифицировать панель задач, панель ввода, значок Пуск
        /// </summary>
        /// <param name="hwndRequester">Дескриптор окна</param>
        /// <param name="dwState">Определяет состояние окна - скрыть или показать</param>
        /// <returns>В успешном случае возвращается True, иначе - False</returns>
        [DllImport("aygshell.dll")]
        static extern uint SHFullScreen(IntPtr hwndRequester, uint dwState);

        const uint SHFS_SHOWTASKBAR = 0x0001;
        const uint SHFS_HIDETASKBAR = 0x0002;
        const uint SHFS_SHOWSIPBUTTON = 0x0004;
        const uint SHFS_HIDESIPBUTTON = 0x0008;
        const uint SHFS_SHOWSTARTICON = 0x0010;
        const uint SHFS_HIDESTARTICON = 0x0020;

        public Form1()
        {
            InitializeComponent();
            #if DEBUG
                MinimizeBox = false;
            #else       
                MinimizeBox = true;
            #endif
        }

        private void butHideStart_Click(object sender, EventArgs e)
        {
            IntPtr hwnd = this.Handle;

            //прячем значок Пуск
            SHFullScreen(hwnd, SHFS_HIDESTARTICON);

            //прячем SIP
            //SHFullScreen(hwnd, SHFS_HIDESIPBUTTON);
        }

        private void butShowStart_Click(object sender, EventArgs e)
        {
            //показываем значок Пуск
            IntPtr hwnd = this.Handle;
            SHFullScreen(hwnd, SHFS_SHOWSTARTICON);

            //показываем SIP
            //SHFullScreen(hwnd, SHFS_SHOWSIPBUTTON);
        }
    }
}