Example #1
0
            public DisplayCollector()
            {
                /*
                // �f�B�X�v���C�}�b�v
                this.displays.Add(new Display(128, 96, "sQCIF"));
                this.displays.Add(new Display(176, 144, "QCIF"));
                this.displays.Add(new Display(320, 240, "QVGA"));
                this.displays.Add(new Display(400, 240, "WQVGA"));
                this.displays.Add(new Display(352, 288, "CIF"));
                this.displays.Add(new Display(640, 200, "CGA"));
                this.displays.Add(new Display(480, 320, "HVGA"));
                this.displays.Add(new Display(640, 350, "EGA"));
                this.displays.Add(new Display(640, 400, "DCGA"));
                this.displays.Add(new Display(640, 480, "VGA"));
                this.displays.Add(new Display(800, 480, "WVGA"));
                this.displays.Add(new Display(854, 480, "FWVGA"));
                this.displays.Add(new Display(864, 480, "FWVGA+"));
                this.displays.Add(new Display(800, 600, "SVGA"));
                this.displays.Add(new Display(1024, 480, "UWVGA"));
                this.displays.Add(new Display(1024, 576, "WSVGA"));
                this.displays.Add(new Display(1024, 600, "WSVGA"));
                this.displays.Add(new Display(1280, 600, "UWSVGA"));
                this.displays.Add(new Display(1024, 768, "XGA"));
                this.displays.Add(new Display(1280, 768, "WXGA"));
                this.displays.Add(new Display(1152, 864, "XGA+"));
                this.displays.Add(new Display(1280, 800, "WXGA"));
                this.displays.Add(new Display(1366, 768, "FWXGA"));
                this.displays.Add(new Display(1280, 960, "Quad VGA"));
                this.displays.Add(new Display(1440, 900, "WXGA+"));
                this.displays.Add(new Display(1280, 1024, "SXGA"));
                this.displays.Add(new Display(1600, 900, "WXGA++"));
                this.displays.Add(new Display(1400, 1050, "SXGA+"));
                this.displays.Add(new Display(1600, 1024, "WSXGA"));
                this.displays.Add(new Display(1680, 1050, "WSXGA+"));
                this.displays.Add(new Display(1600, 1200, "UXGA"));
                this.displays.Add(new Display(2048, 1080, "2K"));
                this.displays.Add(new Display(1920, 1080, "Full HD"));
                this.displays.Add(new Display(1920, 1200, "WUXGA"));
                this.displays.Add(new Display(2048, 1152, "QWXGA"));
                this.displays.Add(new Display(2048, 1536, "QXGA"));
                this.displays.Add(new Display(2304, 1728, "4M"));
                this.displays.Add(new Display(2560, 1600, "WQXGA"));
                this.displays.Add(new Display(3200, 2400, "QUXGA"));
                this.displays.Add(new Display(3840, 2160, "4x FullHD"));
                this.displays.Add(new Display(4096, 2160, "4K"));
                this.displays.Add(new Display(3840, 2400, "QUXGA Wide"));
                this.displays.Add(new Display(8192, 4320, "8K"));
                */

                // �g�p���Ă���‹��ɓK�����f�B�X�v���C�}�b�v��擾���܂��B
                Win32API.DISPLAY_DEVICE_MODE deviceMode = new Win32API.DISPLAY_DEVICE_MODE();

                //int mode = Win32API.ENUM_CURRENT_SETTINGS;
                int mode = 0;

                String deviceName = null;
                while (Win32API.EnumDisplaySettings(deviceName, mode, ref deviceMode) != 0)
                {
                    // ���ݗ��p���Ă���s�N�Z�����ibit)�ȊO�̓��X�g�̑ΏۊO�Ƃ���
                    if (deviceMode.dmBitsPerPel != System.Windows.Forms.Screen.PrimaryScreen.BitsPerPixel)
                    {
                        mode++;  continue;
                    }

                    int width = deviceMode.dmPelsWidth;
                    int height = deviceMode.dmPelsHeight;
                    int bit = deviceMode.dmBitsPerPel;
                    //int color = 1 <<< deviceMode.dmBitsPerPel;

                    // �Q�[���̉�ʐݒ�Œ�l 800 x 600 �ȉ��͕\�����Ȃ��i�ݒ肵�Ă�Q�[����N���ł��Ȃ����߁j
                    if (width < 800 || height < 600)
                    {
                        mode++; continue;
                    }

                    if (this.isExistDisplay(width, height)) { mode++; continue; }

                    //SimpleLogger.WriteLine("{0}, {1} ({2}) {3}bit", deviceMode.dmPelsWidth, deviceMode.dmPelsHeight, this.getGauge(deviceMode.dmPelsWidth, deviceMode.dmPelsHeight), deviceMode.dmBitsPerPel);
                    SimpleLogger.WriteLine("{0} x {1} {2}bit", width, height, bit);
                    this.add(deviceMode.dmPelsWidth, deviceMode.dmPelsHeight);
                    mode++;
                }

                this.currentDisplay.Sort();
            }
Example #2
0
            public DisplayCollector()
            {
                /*
                 * // ディスプレイマップ
                 * this.displays.Add(new Display(128, 96, "sQCIF"));
                 * this.displays.Add(new Display(176, 144, "QCIF"));
                 * this.displays.Add(new Display(320, 240, "QVGA"));
                 * this.displays.Add(new Display(400, 240, "WQVGA"));
                 * this.displays.Add(new Display(352, 288, "CIF"));
                 * this.displays.Add(new Display(640, 200, "CGA"));
                 * this.displays.Add(new Display(480, 320, "HVGA"));
                 * this.displays.Add(new Display(640, 350, "EGA"));
                 * this.displays.Add(new Display(640, 400, "DCGA"));
                 * this.displays.Add(new Display(640, 480, "VGA"));
                 * this.displays.Add(new Display(800, 480, "WVGA"));
                 * this.displays.Add(new Display(854, 480, "FWVGA"));
                 * this.displays.Add(new Display(864, 480, "FWVGA+"));
                 * this.displays.Add(new Display(800, 600, "SVGA"));
                 * this.displays.Add(new Display(1024, 480, "UWVGA"));
                 * this.displays.Add(new Display(1024, 576, "WSVGA"));
                 * this.displays.Add(new Display(1024, 600, "WSVGA"));
                 * this.displays.Add(new Display(1280, 600, "UWSVGA"));
                 * this.displays.Add(new Display(1024, 768, "XGA"));
                 * this.displays.Add(new Display(1280, 768, "WXGA"));
                 * this.displays.Add(new Display(1152, 864, "XGA+"));
                 * this.displays.Add(new Display(1280, 800, "WXGA"));
                 * this.displays.Add(new Display(1366, 768, "FWXGA"));
                 * this.displays.Add(new Display(1280, 960, "Quad VGA"));
                 * this.displays.Add(new Display(1440, 900, "WXGA+"));
                 * this.displays.Add(new Display(1280, 1024, "SXGA"));
                 * this.displays.Add(new Display(1600, 900, "WXGA++"));
                 * this.displays.Add(new Display(1400, 1050, "SXGA+"));
                 * this.displays.Add(new Display(1600, 1024, "WSXGA"));
                 * this.displays.Add(new Display(1680, 1050, "WSXGA+"));
                 * this.displays.Add(new Display(1600, 1200, "UXGA"));
                 * this.displays.Add(new Display(2048, 1080, "2K"));
                 * this.displays.Add(new Display(1920, 1080, "Full HD"));
                 * this.displays.Add(new Display(1920, 1200, "WUXGA"));
                 * this.displays.Add(new Display(2048, 1152, "QWXGA"));
                 * this.displays.Add(new Display(2048, 1536, "QXGA"));
                 * this.displays.Add(new Display(2304, 1728, "4M"));
                 * this.displays.Add(new Display(2560, 1600, "WQXGA"));
                 * this.displays.Add(new Display(3200, 2400, "QUXGA"));
                 * this.displays.Add(new Display(3840, 2160, "4x FullHD"));
                 * this.displays.Add(new Display(4096, 2160, "4K"));
                 * this.displays.Add(new Display(3840, 2400, "QUXGA Wide"));
                 * this.displays.Add(new Display(8192, 4320, "8K"));
                 */

                // 使用している環境に適したディスプレイマップを取得します。
                Win32API.DISPLAY_DEVICE_MODE deviceMode = new Win32API.DISPLAY_DEVICE_MODE();

                //int mode = Win32API.ENUM_CURRENT_SETTINGS;
                int mode = 0;

                String deviceName = null;

                while (Win32API.EnumDisplaySettings(deviceName, mode, ref deviceMode) != 0)
                {
                    // 現在利用しているピクセル数(bit)以外はリストの対象外とする
                    if (deviceMode.dmBitsPerPel != System.Windows.Forms.Screen.PrimaryScreen.BitsPerPixel)
                    {
                        mode++;  continue;
                    }

                    int width  = deviceMode.dmPelsWidth;
                    int height = deviceMode.dmPelsHeight;
                    int bit    = deviceMode.dmBitsPerPel;
                    //int color = 1 <<< deviceMode.dmBitsPerPel;

                    // ゲームの画面設定最低値 800 x 600 以下は表示しない(設定してもゲームを起動できないため)
                    if (width < 800 || height < 600)
                    {
                        mode++; continue;
                    }

                    if (this.isExistDisplay(width, height))
                    {
                        mode++; continue;
                    }

                    //SimpleLogger.WriteLine("{0}, {1} ({2}) {3}bit", deviceMode.dmPelsWidth, deviceMode.dmPelsHeight, this.getGauge(deviceMode.dmPelsWidth, deviceMode.dmPelsHeight), deviceMode.dmBitsPerPel);
                    SimpleLogger.WriteLine("{0} x {1} {2}bit", width, height, bit);
                    this.add(deviceMode.dmPelsWidth, deviceMode.dmPelsHeight);
                    mode++;
                }

                this.currentDisplay.Sort();
            }