Author: weiden Date: Fri Jan 19 21:34:50 2007 New Revision: 25536
URL: http://svn.reactos.org/svn/reactos?rev=25536&view=rev Log: Enable shell extensions to add pages to the control panel. The "Remote" page in XP however disappears when being clicked on. Is someone interested in taking a look at it?
Modified: trunk/reactos/dll/cpl/sysdm/sysdm.c
Modified: trunk/reactos/dll/cpl/sysdm/sysdm.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/sysdm/sysdm.c?rev=2... ============================================================================== --- trunk/reactos/dll/cpl/sysdm/sysdm.c (original) +++ trunk/reactos/dll/cpl/sysdm/sysdm.c Fri Jan 19 21:34:50 2007 @@ -102,6 +102,7 @@ HPROPSHEETPAGE hpsp[MAX_SYSTEM_PAGES]; PROPSHEETHEADER psh; HMODULE hNetIdDll; + HPSXA hpsxa; LONG Ret; static INITCOMMONCONTROLSEX icc = {sizeof(INITCOMMONCONTROLSEX), ICC_LINK_CLASS};
@@ -125,7 +126,19 @@ InitPropSheetPage(&psh, IDD_PROPPAGEHARDWARE, (DLGPROC) HardwarePageProc); InitPropSheetPage(&psh, IDD_PROPPAGEADVANCED, (DLGPROC) AdvancedPageProc);
+ /* Load additional pages provided by shell extensions */ + hpsxa = SHCreatePropSheetExtArray(HKEY_LOCAL_MACHINE, REGSTR_PATH_CONTROLSFOLDER TEXT("\System"), MAX_SYSTEM_PAGES - psh.nPages); + if (hpsxa != NULL) + { + SHAddFromPropSheetExtArray(hpsxa, PropSheetAddPage, (LPARAM)&psh); + } + Ret = (LONG)(PropertySheet(&psh) != -1); + + if (hpsxa != NULL) + { + SHDestroyPropSheetExtArray(hpsxa); + }
if (hNetIdDll != NULL) FreeLibrary(hNetIdDll);