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