mirror of
https://github.com/reactos/reactos.git
synced 2024-12-29 10:35:28 +00:00
It's not pretty, but get desk.cpl building in msvc again.
svn path=/trunk/; revision=29328
This commit is contained in:
parent
ca1003310b
commit
221f21c62a
2 changed files with 24 additions and 1 deletions
|
@ -99,6 +99,9 @@ BuildAdvPropTitle(IDataObject *pdo, LPTSTR lpBuffer, DWORD dwBufferLen)
|
||||||
LocalFree((HLOCAL)lpDisplayName);
|
LocalFree((HLOCAL)lpDisplayName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
typedef HPSXA (WINAPI * CPSEAE)(HKEY,LPCWSTR,UINT,IDataObject*);
|
||||||
|
|
||||||
BOOL
|
BOOL
|
||||||
DisplayAdvancedSettings(HWND hWndParent, PDISPLAY_DEVICE_ENTRY DisplayDevice)
|
DisplayAdvancedSettings(HWND hWndParent, PDISPLAY_DEVICE_ENTRY DisplayDevice)
|
||||||
{
|
{
|
||||||
|
@ -108,6 +111,11 @@ DisplayAdvancedSettings(HWND hWndParent, PDISPLAY_DEVICE_ENTRY DisplayDevice)
|
||||||
HPSXA hpsxaDev, hpsxaDisp;
|
HPSXA hpsxaDev, hpsxaDisp;
|
||||||
BOOL Ret;
|
BOOL Ret;
|
||||||
IDataObject *pdo;
|
IDataObject *pdo;
|
||||||
|
HMODULE hShell32 = NULL;
|
||||||
|
CPSEAE msvc_SHCreatePropSheetExtArrayEx;
|
||||||
|
|
||||||
|
/* silence gcc warning */
|
||||||
|
msvc_SHCreatePropSheetExtArrayEx = NULL;
|
||||||
|
|
||||||
/* FIXME: Build the "%s and %s" caption string for the monitor and adapter name */
|
/* FIXME: Build the "%s and %s" caption string for the monitor and adapter name */
|
||||||
szCaption[0] = _T('\0');
|
szCaption[0] = _T('\0');
|
||||||
|
@ -127,11 +135,23 @@ DisplayAdvancedSettings(HWND hWndParent, PDISPLAY_DEVICE_ENTRY DisplayDevice)
|
||||||
if (pdo != NULL)
|
if (pdo != NULL)
|
||||||
BuildAdvPropTitle(pdo, szCaption, sizeof(szCaption) / sizeof(szCaption[0]));
|
BuildAdvPropTitle(pdo, szCaption, sizeof(szCaption) / sizeof(szCaption[0]));
|
||||||
|
|
||||||
|
#ifdef _MSC_VER
|
||||||
|
hShell32 = LoadLibrary(_T("shell32.dll"));
|
||||||
|
if(hShell32 == NULL)
|
||||||
|
return FALSE;
|
||||||
|
msvc_SHCreatePropSheetExtArrayEx = (CPSEAE)GetProcAddress(hShell32, (LPCSTR)194);
|
||||||
|
hpsxaDev = msvc_SHCreatePropSheetExtArrayEx(HKEY_LOCAL_MACHINE, REGSTR_PATH_CONTROLSFOLDER TEXT("\\Device"), MAX_ADVANCED_PAGES - psh.nPages, pdo);
|
||||||
|
#else
|
||||||
hpsxaDev = SHCreatePropSheetExtArrayEx(HKEY_LOCAL_MACHINE, REGSTR_PATH_CONTROLSFOLDER TEXT("\\Device"), MAX_ADVANCED_PAGES - psh.nPages, pdo);
|
hpsxaDev = SHCreatePropSheetExtArrayEx(HKEY_LOCAL_MACHINE, REGSTR_PATH_CONTROLSFOLDER TEXT("\\Device"), MAX_ADVANCED_PAGES - psh.nPages, pdo);
|
||||||
|
#endif
|
||||||
if (hpsxaDev != NULL)
|
if (hpsxaDev != NULL)
|
||||||
SHAddFromPropSheetExtArray(hpsxaDev, PropSheetAddPage, (LPARAM)&psh);
|
SHAddFromPropSheetExtArray(hpsxaDev, PropSheetAddPage, (LPARAM)&psh);
|
||||||
|
|
||||||
|
#ifdef _MSC_VER
|
||||||
|
hpsxaDisp = msvc_SHCreatePropSheetExtArrayEx(HKEY_LOCAL_MACHINE, REGSTR_PATH_CONTROLSFOLDER TEXT("\\Device"), MAX_ADVANCED_PAGES - psh.nPages, pdo);
|
||||||
|
#else
|
||||||
hpsxaDisp = SHCreatePropSheetExtArrayEx(HKEY_LOCAL_MACHINE, REGSTR_PATH_CONTROLSFOLDER TEXT("\\Display"), MAX_ADVANCED_PAGES - psh.nPages, pdo);
|
hpsxaDisp = SHCreatePropSheetExtArrayEx(HKEY_LOCAL_MACHINE, REGSTR_PATH_CONTROLSFOLDER TEXT("\\Display"), MAX_ADVANCED_PAGES - psh.nPages, pdo);
|
||||||
|
#endif
|
||||||
if (hpsxaDisp != NULL)
|
if (hpsxaDisp != NULL)
|
||||||
SHAddFromPropSheetExtArray(hpsxaDisp, PropSheetAddPage, (LPARAM)&psh);
|
SHAddFromPropSheetExtArray(hpsxaDisp, PropSheetAddPage, (LPARAM)&psh);
|
||||||
|
|
||||||
|
@ -145,5 +165,8 @@ DisplayAdvancedSettings(HWND hWndParent, PDISPLAY_DEVICE_ENTRY DisplayDevice)
|
||||||
|
|
||||||
IDataObject_Release(pdo);
|
IDataObject_Release(pdo);
|
||||||
|
|
||||||
|
if (hShell32)
|
||||||
|
FreeLibrary(hShell32);
|
||||||
|
|
||||||
return Ret;
|
return Ret;
|
||||||
}
|
}
|
||||||
|
|
|
@ -228,7 +228,7 @@ pCDevSettings_OpenDeviceKey(PCDevSettings This,
|
||||||
if (lpRegKey != NULL)
|
if (lpRegKey != NULL)
|
||||||
{
|
{
|
||||||
if (wcslen(lpRegKey) >= wcslen(szRegPrefix) &&
|
if (wcslen(lpRegKey) >= wcslen(szRegPrefix) &&
|
||||||
!wcsnicmp(lpRegKey,
|
!_wcsnicmp(lpRegKey,
|
||||||
szRegPrefix,
|
szRegPrefix,
|
||||||
wcslen(szRegPrefix)))
|
wcslen(szRegPrefix)))
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue