mirror of
https://github.com/ApfelTeeSaft/reactos.git
synced 2026-09-01 19:26:16 +00:00
- implement more details for display adapter page
- enlarge general details groupbox svn path=/trunk/; revision=33181
This commit is contained in:
@@ -20,6 +20,70 @@ InitializeDialog(HWND hwndDlg)
|
||||
SP_DEVINFO_DATA InfoData;
|
||||
DWORD dwIndex = 0;
|
||||
WCHAR szText[100];
|
||||
WCHAR szFormat[30];
|
||||
HKEY hKey;
|
||||
DWORD dwMemory;
|
||||
DEVMODE DevMode;
|
||||
|
||||
DISPLAY_DEVICEW DispDevice;
|
||||
|
||||
/* query display device adapter */
|
||||
ZeroMemory(&DispDevice, sizeof(DISPLAY_DEVICEW));
|
||||
DispDevice.cb = sizeof(DISPLAY_DEVICEW);
|
||||
if (!EnumDisplayDevicesW(NULL, 0, &DispDevice, 0))
|
||||
return FALSE;
|
||||
|
||||
if (RegOpenKeyExW(HKEY_LOCAL_MACHINE, &DispDevice.DeviceKey[18], 0, KEY_READ, &hKey) != ERROR_SUCCESS)
|
||||
return FALSE;
|
||||
|
||||
if (GetRegValue(hKey, NULL, L"HardwareInformation.ChipType", REG_BINARY, szText, sizeof(szText)))
|
||||
{
|
||||
/* set chip type */
|
||||
SendDlgItemMessageW(hwndDlg, IDC_STATIC_ADAPTER_CHIP, WM_SETTEXT, 0, (LPARAM)szText);
|
||||
}
|
||||
|
||||
if (GetRegValue(hKey, NULL, L"HardwareInformation.DacType", REG_BINARY, szText, sizeof(szText)))
|
||||
{
|
||||
/* set DAC type */
|
||||
SendDlgItemMessageW(hwndDlg, IDC_STATIC_ADAPTER_DAC, WM_SETTEXT, 0, (LPARAM)szText);
|
||||
}
|
||||
|
||||
if (GetRegValue(hKey, NULL, L"HardwareInformation.MemorySize", REG_BINARY, &dwMemory, sizeof(dwMemory)))
|
||||
{
|
||||
/* set chip memory size */
|
||||
if (dwMemory > (1048576))
|
||||
{
|
||||
/* buggy ATI driver requires that */
|
||||
dwMemory /= 1048576;
|
||||
}
|
||||
szFormat[0] = L'\0';
|
||||
if (LoadStringW(hInst, IDS_FORMAT_ADAPTER_MEM, szFormat, sizeof(szFormat)/sizeof(WCHAR)))
|
||||
szFormat[(sizeof(szFormat)/sizeof(WCHAR))-1] = L'\0';
|
||||
swprintf(szText, szFormat, dwMemory);
|
||||
SendDlgItemMessageW(hwndDlg, IDC_STATIC_ADAPTER_MEM, WM_SETTEXT, 0, (LPARAM)szText);
|
||||
}
|
||||
|
||||
/* retrieve current display mode */
|
||||
DevMode.dmSize = sizeof(DEVMODE);
|
||||
if (EnumDisplaySettingsW(DispDevice.DeviceName, ENUM_CURRENT_SETTINGS, &DevMode))
|
||||
{
|
||||
szFormat[0] = L'\0';
|
||||
if (LoadStringW(hInst, IDS_FORMAT_ADAPTER_MODE, szFormat, sizeof(szFormat)/sizeof(WCHAR)))
|
||||
szFormat[(sizeof(szFormat)/sizeof(WCHAR))-1] = L'\0';
|
||||
swprintf(szText, szFormat, DevMode.dmPelsWidth, DevMode.dmPelsHeight, DevMode.dmBitsPerPel, DevMode.dmDisplayFrequency);
|
||||
SendDlgItemMessageW(hwndDlg, IDC_STATIC_ADAPTER_MODE, WM_SETTEXT, 0, (LPARAM)szText);
|
||||
}
|
||||
|
||||
/* query attached monitor */
|
||||
wcscpy(szText, DispDevice.DeviceName);
|
||||
ZeroMemory(&DispDevice, sizeof(DISPLAY_DEVICEW));
|
||||
DispDevice.cb = sizeof(DISPLAY_DEVICEW);
|
||||
if (EnumDisplayDevicesW(szText, 0, &DispDevice, 0))
|
||||
{
|
||||
/* set monitor name */
|
||||
SendDlgItemMessageW(hwndDlg, IDC_STATIC_ADAPTER_MONITOR, WM_SETTEXT, 0, (LPARAM)DispDevice.DeviceString);
|
||||
}
|
||||
|
||||
|
||||
hInfo = SetupDiGetClassDevsW(&GUID_DEVCLASS_DISPLAY, NULL, hwndDlg, DIGCF_PRESENT|DIGCF_PROFILE);
|
||||
if (hInfo == INVALID_HANDLE_VALUE)
|
||||
@@ -37,11 +101,15 @@ InitializeDialog(HWND hwndDlg)
|
||||
if (SetupDiGetDeviceRegistryPropertyW(hInfo, &InfoData, SPDRP_DEVICEDESC, NULL, (PBYTE)szText, sizeof(szText), NULL))
|
||||
SendDlgItemMessageW(hwndDlg, IDC_STATIC_ADAPTER_ID, WM_SETTEXT, 0, (LPARAM)szText);
|
||||
|
||||
/* set the manufacturer name */
|
||||
if (SetupDiGetDeviceRegistryPropertyW(hInfo, &InfoData, SPDRP_MFG, NULL, (PBYTE)szText, sizeof(szText), NULL))
|
||||
SendDlgItemMessageW(hwndDlg, IDC_STATIC_ADAPTER_VENDOR, WM_SETTEXT, 0, (LPARAM)szText);
|
||||
|
||||
/* FIXME
|
||||
* we currently enumerate only the first adapter
|
||||
*/
|
||||
break;
|
||||
}
|
||||
/* FIXME
|
||||
* only enumerate the first display adapter
|
||||
*/
|
||||
break;
|
||||
|
||||
if (GetLastError() == ERROR_NO_MORE_ITEMS)
|
||||
break;
|
||||
|
||||
@@ -49,7 +49,7 @@ IDD_DISPLAY_DIALOG DIALOGEX DISCARDABLE 0, 0, 462, 220
|
||||
STYLE DS_SHELLFONT | DS_CONTROL | WS_CHILD | WS_CLIPCHILDREN
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
GROUPBOX "Gerät", -1, 10, 10, 220, 100
|
||||
GROUPBOX "Gerät", -1, 10, 10, 250, 100
|
||||
RTEXT "Name:", -1, 20, 25, 70, 10
|
||||
RTEXT "Hersteller:", -1, 20, 35, 70, 10
|
||||
RTEXT "Chiptyp:", -1, 20, 45, 70, 10
|
||||
@@ -57,29 +57,29 @@ BEGIN
|
||||
RTEXT "Gesamtspeicher ca.:", -1, 20, 65, 70, 10
|
||||
RTEXT "Anzeigemodus:", -1, 20, 75, 70, 10
|
||||
RTEXT "Monitor:", -1, 20, 85, 70, 10
|
||||
LTEXT "", IDC_STATIC_ADAPTER_ID, 95, 25, 130, 10
|
||||
LTEXT "", IDC_STATIC_ADAPTER_VENDOR, 95, 35, 130, 10
|
||||
LTEXT "", IDC_STATIC_ADAPTER_CHIP, 95, 45, 130, 10
|
||||
LTEXT "", IDC_STATIC_ADAPTER_DAC, 95, 55, 130, 10
|
||||
LTEXT "", IDC_STATIC_ADAPTER_MEM, 95, 65, 130, 10
|
||||
LTEXT "", IDC_STATIC_ADAPTER_MODE, 95, 75, 130, 10
|
||||
LTEXT "", IDC_STATIC_ADAPTER_MONITOR, 95, 85, 130, 10
|
||||
LTEXT "", IDC_STATIC_ADAPTER_ID, 95, 25, 150, 10
|
||||
LTEXT "", IDC_STATIC_ADAPTER_VENDOR, 95, 35, 150, 10
|
||||
LTEXT "", IDC_STATIC_ADAPTER_CHIP, 95, 45, 150, 10
|
||||
LTEXT "", IDC_STATIC_ADAPTER_DAC, 95, 55, 150, 10
|
||||
LTEXT "", IDC_STATIC_ADAPTER_MEM, 95, 65, 150, 10
|
||||
LTEXT "", IDC_STATIC_ADAPTER_MODE, 95, 75, 150, 10
|
||||
LTEXT "", IDC_STATIC_ADAPTER_MONITOR, 95, 85, 150, 10
|
||||
|
||||
GROUPBOX "Treiber", -1, 240, 10, 220, 100
|
||||
RTEXT "Hauptreiber:", -1, 245, 30, 55, 10
|
||||
RTEXT "Version:", -1, 245, 40, 55, 10
|
||||
RTEXT "Datum:", -1, 245, 50, 55, 10
|
||||
RTEXT "Mit WHQL-Logo:", -1, 245, 60, 55, 10
|
||||
RTEXT "Mini-VDD:", -1, 245, 70, 55, 10
|
||||
RTEXT "VDD:", -1, 245, 80, 55, 10
|
||||
RTEXT "DDI-Version:", -1, 245, 90, 55, 10
|
||||
LTEXT "", IDC_STATIC_ADAPTER_DRIVER, 305, 30, 130, 10
|
||||
LTEXT "", IDC_STATIC_ADAPTER_VERSION, 305, 40, 130, 10
|
||||
LTEXT "", IDC_STATIC_ADAPTER_DATE, 305, 50, 130, 10
|
||||
LTEXT "", IDC_STATIC_ADAPTER_LOGO, 305, 60, 130, 10
|
||||
LTEXT "", IDC_STATIC_ADAPTER_MINIVDD, 305, 70, 130, 10
|
||||
LTEXT "", IDC_STATIC_ADAPTER_VDD, 305, 80, 130, 10
|
||||
LTEXT "", IDC_STATIC_ADAPTER_DDI, 305, 90, 130, 10
|
||||
GROUPBOX "Treiber", -1, 270, 10, 220, 100
|
||||
RTEXT "Hauptreiber:", -1, 275, 25, 55, 10
|
||||
RTEXT "Version:", -1, 275, 35, 55, 10
|
||||
RTEXT "Datum:", -1, 275, 45, 55, 10
|
||||
RTEXT "Mit WHQL-Logo:", -1, 275, 55, 55, 10
|
||||
RTEXT "Mini-VDD:", -1, 275, 65, 55, 10
|
||||
RTEXT "VDD:", -1, 275, 75, 55, 10
|
||||
RTEXT "DDI-Version:", -1, 275, 85, 55, 10
|
||||
LTEXT "", IDC_STATIC_ADAPTER_DRIVER, 335, 25, 100, 10
|
||||
LTEXT "", IDC_STATIC_ADAPTER_VERSION, 335, 35, 100, 10
|
||||
LTEXT "", IDC_STATIC_ADAPTER_DATE, 335, 45, 100, 10
|
||||
LTEXT "", IDC_STATIC_ADAPTER_LOGO, 335, 55, 100, 10
|
||||
LTEXT "", IDC_STATIC_ADAPTER_MINIVDD, 335, 65, 100, 10
|
||||
LTEXT "", IDC_STATIC_ADAPTER_VDD, 335, 75, 100, 10
|
||||
LTEXT "", IDC_STATIC_ADAPTER_DDI, 335, 85, 100, 10
|
||||
|
||||
GROUPBOX "ReactX-Funktionen", -1, 10, 115, 450, 60
|
||||
RTEXT "DirectDraw-Beschleunigung:", -1, 15, 130, 110, 12
|
||||
@@ -186,4 +186,6 @@ BEGIN
|
||||
IDS_DDOFFSCREEN_RESULT "Did you see white moving reactangle?"
|
||||
IDS_DDFULLSCREEN_DESCRIPTION "This test will use DirectDraw to draw in a fullscreen mode. Moving white rectangle should be drawn. Continue?"
|
||||
IDS_DDFULLSCREEN_RESULT "Did you see white moving reactangle in a fullscreen mode?"
|
||||
IDS_FORMAT_ADAPTER_MEM "%u MB"
|
||||
IDS_FORMAT_ADAPTER_MODE "%04u x %04u (%u bit)(%uHz)"
|
||||
END
|
||||
|
||||
@@ -49,7 +49,7 @@ IDD_DISPLAY_DIALOG DIALOGEX DISCARDABLE 0, 0, 462, 220
|
||||
STYLE DS_SHELLFONT | DS_CONTROL | WS_CHILD | WS_CLIPCHILDREN
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
GROUPBOX "Device", -1, 10, 10, 220, 100
|
||||
GROUPBOX "Device", -1, 10, 10, 250, 100
|
||||
RTEXT "Name:", -1, 20, 25, 70, 10
|
||||
RTEXT "Manufacturer:", -1, 20, 35, 70, 10
|
||||
RTEXT "Chip Type:", -1, 20, 45, 70, 10
|
||||
@@ -57,29 +57,29 @@ BEGIN
|
||||
RTEXT "Approx. Total Memory:", -1, 20, 65, 70, 10
|
||||
RTEXT "Current Display Mode:", -1, 20, 75, 70, 10
|
||||
RTEXT "Monitor:", -1, 20, 85, 70, 10
|
||||
LTEXT "", IDC_STATIC_ADAPTER_ID, 95, 25, 130, 10
|
||||
LTEXT "", IDC_STATIC_ADAPTER_VENDOR, 95, 35, 130, 10
|
||||
LTEXT "", IDC_STATIC_ADAPTER_CHIP, 95, 45, 130, 10
|
||||
LTEXT "", IDC_STATIC_ADAPTER_DAC, 95, 55, 130, 10
|
||||
LTEXT "", IDC_STATIC_ADAPTER_MEM, 95, 65, 130, 10
|
||||
LTEXT "", IDC_STATIC_ADAPTER_MODE, 95, 75, 130, 10
|
||||
LTEXT "", IDC_STATIC_ADAPTER_MONITOR, 95, 85, 130, 10
|
||||
LTEXT "", IDC_STATIC_ADAPTER_ID, 95, 25, 150, 10
|
||||
LTEXT "", IDC_STATIC_ADAPTER_VENDOR, 95, 35, 150, 10
|
||||
LTEXT "", IDC_STATIC_ADAPTER_CHIP, 95, 45, 150, 10
|
||||
LTEXT "", IDC_STATIC_ADAPTER_DAC, 95, 55, 150, 10
|
||||
LTEXT "", IDC_STATIC_ADAPTER_MEM, 95, 65, 150, 10
|
||||
LTEXT "", IDC_STATIC_ADAPTER_MODE, 95, 75, 150, 10
|
||||
LTEXT "", IDC_STATIC_ADAPTER_MONITOR, 95, 85, 150, 10
|
||||
|
||||
GROUPBOX "Driver", -1, 240, 10, 220, 100
|
||||
RTEXT "Main Driver:", -1, 245, 30, 55, 10
|
||||
RTEXT "Version:", -1, 245, 40, 55, 10
|
||||
RTEXT "Date:", -1, 245, 50, 55, 10
|
||||
RTEXT "WHQL-Logo:", -1, 245, 60, 55, 10
|
||||
RTEXT "Mini-VDD:", -1, 245, 70, 55, 10
|
||||
RTEXT " vvdddVDD:", -1, 245, 80, 55, 10
|
||||
RTEXT "DDI Version:", -1, 245, 90, 55, 10
|
||||
LTEXT "", IDC_STATIC_ADAPTER_DRIVER, 305, 30, 130, 10
|
||||
LTEXT "", IDC_STATIC_ADAPTER_VERSION, 305, 40, 130, 10
|
||||
LTEXT "", IDC_STATIC_ADAPTER_DATE, 305, 50, 130, 10
|
||||
LTEXT "", IDC_STATIC_ADAPTER_LOGO, 305, 60, 130, 10
|
||||
LTEXT "", IDC_STATIC_ADAPTER_MINIVDD, 305, 70, 130, 10
|
||||
LTEXT "", IDC_STATIC_ADAPTER_VDD, 305, 80, 130, 10
|
||||
LTEXT "", IDC_STATIC_ADAPTER_DDI, 305, 90, 130, 10
|
||||
GROUPBOX "Driver", -1, 270, 10, 220, 100
|
||||
RTEXT "Main Driver:", -1, 275, 25, 55, 10
|
||||
RTEXT "Version:", -1, 275, 35, 55, 10
|
||||
RTEXT "Date:", -1, 275, 45, 55, 10
|
||||
RTEXT "WHQL-Logo:", -1, 275, 55, 55, 10
|
||||
RTEXT "Mini-VDD:", -1, 275, 65, 55, 10
|
||||
RTEXT " vvdddVDD:", -1, 275, 75, 55, 10
|
||||
RTEXT "DDI Version:", -1, 275, 85, 55, 10
|
||||
LTEXT "", IDC_STATIC_ADAPTER_DRIVER, 335, 35, 100, 10
|
||||
LTEXT "", IDC_STATIC_ADAPTER_VERSION, 335, 35, 100, 10
|
||||
LTEXT "", IDC_STATIC_ADAPTER_DATE, 335, 45, 100, 10
|
||||
LTEXT "", IDC_STATIC_ADAPTER_LOGO, 335, 55, 100, 10
|
||||
LTEXT "", IDC_STATIC_ADAPTER_MINIVDD, 335, 65, 100, 10
|
||||
LTEXT "", IDC_STATIC_ADAPTER_VDD, 335, 75, 100, 10
|
||||
LTEXT "", IDC_STATIC_ADAPTER_DDI, 335, 85, 100, 10
|
||||
|
||||
GROUPBOX "ReactX-Features", -1, 10, 115, 450, 60
|
||||
RTEXT "DirectDraw Acceleration:", -1, 15, 130, 110, 12
|
||||
@@ -186,4 +186,6 @@ BEGIN
|
||||
IDS_DDOFFSCREEN_RESULT "Did you see white moving reactangle?"
|
||||
IDS_DDFULLSCREEN_DESCRIPTION "This test will use DirectDraw to draw in a fullscreen mode. Moving white rectangle should be drawn. Continue?"
|
||||
IDS_DDFULLSCREEN_RESULT "Did you see white moving reactangle in a fullscreen mode?"
|
||||
IDS_FORMAT_ADAPTER_MEM "%u MB"
|
||||
IDS_FORMAT_ADAPTER_MODE "%04u x %04u (%u bit)(%uHz)"
|
||||
END
|
||||
|
||||
@@ -186,4 +186,6 @@ BEGIN
|
||||
IDS_DDOFFSCREEN_RESULT "Did you see white moving reactangle?"
|
||||
IDS_DDFULLSCREEN_DESCRIPTION "This test will use DirectDraw to draw in a fullscreen mode. Moving white rectangle should be drawn. Continue?"
|
||||
IDS_DDFULLSCREEN_RESULT "Did you see white moving reactangle in a fullscreen mode?"
|
||||
IDS_FORMAT_ADAPTER_MEM "%u MB"
|
||||
IDS_FORMAT_ADAPTER_MODE "%04u x %04u (%u bit)(%uHz)"
|
||||
END
|
||||
|
||||
@@ -193,4 +193,6 @@ BEGIN
|
||||
IDS_DDOFFSCREEN_RESULT "Did you see white moving reactangle?"
|
||||
IDS_DDFULLSCREEN_DESCRIPTION "This test will use DirectDraw to draw in a fullscreen mode. Moving white rectangle should be drawn. Continue?"
|
||||
IDS_DDFULLSCREEN_RESULT "Did you see white moving reactangle in a fullscreen mode?"
|
||||
IDS_FORMAT_ADAPTER_MEM "%u MB"
|
||||
IDS_FORMAT_ADAPTER_MODE "%04u x %04u (%u bit)(%uHz)"
|
||||
END
|
||||
|
||||
@@ -177,6 +177,7 @@ BEGIN
|
||||
IDS_DIRECTPLAY_MODEMCONN "Modem Connection For DirectPlay"
|
||||
IDS_DIRECTPLAY_SERIALCONN "Serial Connection For DirectPlay"
|
||||
IDS_REG_SUCCESS "OK"
|
||||
IDS_REG_FAIL "Îøèáêà"
|
||||
IDS_DDTEST_ERROR "Ñáîé â ïðîâåðêå!"
|
||||
IDS_DDTEST_DESCRIPTION "Áóäåò ïðîèçâåäåíà ïðîâåðêà DirecDraw íà ýòîì óñòðîéñòâå. Ïðîäîëæèòü?"
|
||||
IDS_DDPRIMARY_DESCRIPTION "This test will use DirectDraw to draw on primary surface. Black and white rectangles should be drawn. Continue?"
|
||||
@@ -185,5 +186,6 @@ BEGIN
|
||||
IDS_DDOFFSCREEN_RESULT "Did you see white moving reactangle?"
|
||||
IDS_DDFULLSCREEN_DESCRIPTION "This test will use DirectDraw to draw in a fullscreen mode. Moving white rectangle should be drawn. Continue?"
|
||||
IDS_DDFULLSCREEN_RESULT "Did you see white moving reactangle in a fullscreen mode?"
|
||||
IDS_REG_FAIL "Îøèáêà"
|
||||
IDS_FORMAT_ADAPTER_MEM "%u MB"
|
||||
IDS_FORMAT_ADAPTER_MODE "%04u x %04u (%u bit)(%uHz)"
|
||||
END
|
||||
|
||||
@@ -119,6 +119,8 @@
|
||||
#define IDS_DDFULLSCREEN_DESCRIPTION 10122
|
||||
#define IDS_DDFULLSCREEN_RESULT 10123
|
||||
#define IDS_DDTEST_TITLE 10124
|
||||
#define IDS_FORMAT_ADAPTER_MEM 10125
|
||||
#define IDS_FORMAT_ADAPTER_MODE 10126
|
||||
|
||||
/* icon resource constants */
|
||||
#define IDI_APPICON 20000
|
||||
|
||||
@@ -31,6 +31,9 @@ GetRegValue(HKEY hBaseKey, LPWSTR SubKey, LPWSTR ValueName, DWORD Type, LPWSTR R
|
||||
if (res != ERROR_SUCCESS)
|
||||
return FALSE;
|
||||
|
||||
if (Size == sizeof(DWORD))
|
||||
return TRUE;
|
||||
|
||||
Result[(Size / sizeof(WCHAR))-1] = L'\0';
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user