public static extern int ChangeDisplaySettings(ref DEVMODE1 devMode, int flags);
 public static extern int EnumDisplaySettings(string deviceName, int modeNum, ref DEVMODE1 devMode);
        void ChangeScreenResoltion(int width, int height)
        {
            DEVMODE1 dm = new DEVMODE1();
            dm.dmDeviceName = new String(new char[32]);
            dm.dmFormName = new String(new char[32]);
            dm.dmSize = (short)System.Runtime.InteropServices.Marshal.SizeOf(dm);

            if (Win32.EnumDisplaySettings(null, Win32.ENUM_CURRENT_SETTINGS, ref dm) != 0)
            {
                dm.dmPelsWidth = width;
                dm.dmPelsHeight = height;

                int result = Win32.ChangeDisplaySettings(ref dm, Win32.CDS_TEST);

                if (result != Win32.DISP_CHANGE_FAILED)
                {
                    Win32.ChangeDisplaySettings(ref dm, Win32.CDS_UPDATEREGISTRY);
                }
            }
        }