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=…
==============================================================================
--- 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);