mirror of
https://github.com/reactos/reactos.git
synced 2024-12-28 18:15:11 +00:00
added basic skeleton for the system control panel
svn path=/trunk/; revision=8591
This commit is contained in:
parent
06f1206cf2
commit
e63f7f9cd0
16 changed files with 706 additions and 1 deletions
|
@ -6,7 +6,7 @@ PATH_TO_TOP = ../..
|
|||
|
||||
include $(PATH_TO_TOP)/rules.mak
|
||||
|
||||
CONTROL_PANELS =
|
||||
CONTROL_PANELS = sysdm
|
||||
|
||||
all: $(CONTROL_PANELS)
|
||||
|
||||
|
|
8
reactos/lib/cpl/sysdm/.cvsignore
Normal file
8
reactos/lib/cpl/sysdm/.cvsignore
Normal file
|
@ -0,0 +1,8 @@
|
|||
*.coff
|
||||
*.cpl
|
||||
*.d
|
||||
*.a
|
||||
*.o
|
||||
*.sym
|
||||
*.map
|
||||
*.tmp
|
47
reactos/lib/cpl/sysdm/Makefile
Normal file
47
reactos/lib/cpl/sysdm/Makefile
Normal file
|
@ -0,0 +1,47 @@
|
|||
# $Id: Makefile,v 1.1 2004/03/08 14:24:47 weiden Exp $
|
||||
|
||||
PATH_TO_TOP = ../../..
|
||||
|
||||
TARGET_TYPE = dynlink
|
||||
|
||||
TARGET_EXTENSION = .cpl
|
||||
|
||||
TARGET_NAME = sysdm
|
||||
|
||||
TARGET_INSTALLDIR = system32
|
||||
|
||||
TARGET_BASE = 0x58760000
|
||||
|
||||
TARGET_CFLAGS = \
|
||||
-I./include \
|
||||
-DUNICODE \
|
||||
-D_UNICODE \
|
||||
-D__REACTOS__ \
|
||||
-Wall \
|
||||
-Werror \
|
||||
-fno-builtin
|
||||
|
||||
TARGET_LFLAGS = -nostartfiles
|
||||
|
||||
TARGET_SDKLIBS = kernel32.a user32.a comctl32.a
|
||||
|
||||
TARGET_GCCLIBS = gcc
|
||||
|
||||
TARGET_PCH =
|
||||
|
||||
TARGET_CLEAN =
|
||||
|
||||
TARGET_OBJECTS = sysdm.o general.o computer.o hardware.o advanced.o
|
||||
|
||||
DEP_OBJECTS = $(TARGET_OBJECTS)
|
||||
|
||||
include $(PATH_TO_TOP)/rules.mak
|
||||
|
||||
include $(TOOLS_PATH)/helper.mk
|
||||
|
||||
include $(TOOLS_PATH)/depend.mk
|
||||
|
||||
%/TAGS:
|
||||
etags -o $(@D)/TAGS $(@D)/\*.c
|
||||
|
||||
etags: ./TAGS
|
49
reactos/lib/cpl/sysdm/advanced.c
Normal file
49
reactos/lib/cpl/sysdm/advanced.c
Normal file
|
@ -0,0 +1,49 @@
|
|||
/*
|
||||
* ReactOS
|
||||
* Copyright (C) 2004 ReactOS Team
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
/* $Id: advanced.c,v 1.1 2004/03/08 14:24:47 weiden Exp $
|
||||
*
|
||||
* PROJECT: ReactOS System Control Panel
|
||||
* FILE: lib/cpl/system/advanced.c
|
||||
* PURPOSE: Memory, start-up and profiles settings
|
||||
* PROGRAMMER: Thomas Weidenmueller (w3seek@users.sourceforge.net)
|
||||
* UPDATE HISTORY:
|
||||
* 03-04-2004 Created
|
||||
*/
|
||||
#include <windows.h>
|
||||
#include <stdlib.h>
|
||||
#include "resource.h"
|
||||
#include "sysdm.h"
|
||||
|
||||
/* Property page dialog callback */
|
||||
BOOL CALLBACK
|
||||
AdvancedPageProc(
|
||||
HWND hwndDlg,
|
||||
UINT uMsg,
|
||||
WPARAM wParam,
|
||||
LPARAM lParam
|
||||
)
|
||||
{
|
||||
switch(uMsg)
|
||||
{
|
||||
case WM_INITDIALOG:
|
||||
break;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
49
reactos/lib/cpl/sysdm/computer.c
Normal file
49
reactos/lib/cpl/sysdm/computer.c
Normal file
|
@ -0,0 +1,49 @@
|
|||
/*
|
||||
* ReactOS
|
||||
* Copyright (C) 2004 ReactOS Team
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
/* $Id: computer.c,v 1.1 2004/03/08 14:24:47 weiden Exp $
|
||||
*
|
||||
* PROJECT: ReactOS System Control Panel
|
||||
* FILE: lib/cpl/system/computer.c
|
||||
* PURPOSE: Computer settings for networking
|
||||
* PROGRAMMER: Thomas Weidenmueller (w3seek@users.sourceforge.net)
|
||||
* UPDATE HISTORY:
|
||||
* 03-04-2004 Created
|
||||
*/
|
||||
#include <windows.h>
|
||||
#include <stdlib.h>
|
||||
#include "resource.h"
|
||||
#include "sysdm.h"
|
||||
|
||||
/* Property page dialog callback */
|
||||
BOOL CALLBACK
|
||||
ComputerPageProc(
|
||||
HWND hwndDlg,
|
||||
UINT uMsg,
|
||||
WPARAM wParam,
|
||||
LPARAM lParam
|
||||
)
|
||||
{
|
||||
switch(uMsg)
|
||||
{
|
||||
case WM_INITDIALOG:
|
||||
break;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
131
reactos/lib/cpl/sysdm/general.c
Normal file
131
reactos/lib/cpl/sysdm/general.c
Normal file
|
@ -0,0 +1,131 @@
|
|||
/*
|
||||
* ReactOS
|
||||
* Copyright (C) 2004 ReactOS Team
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
/* $Id: general.c,v 1.1 2004/03/08 14:24:47 weiden Exp $
|
||||
*
|
||||
* PROJECT: ReactOS System Control Panel
|
||||
* FILE: lib/cpl/system/general.c
|
||||
* PURPOSE: General System Information
|
||||
* PROGRAMMER: Thomas Weidenmueller (w3seek@users.sourceforge.net)
|
||||
* UPDATE HISTORY:
|
||||
* 03-04-2004 Created
|
||||
*/
|
||||
#include <windows.h>
|
||||
#include <stdlib.h>
|
||||
#include "resource.h"
|
||||
#include "sysdm.h"
|
||||
|
||||
void
|
||||
ShowLastWin32Error(HWND hWndOwner)
|
||||
{
|
||||
LPWSTR lpMsg;
|
||||
DWORD LastError;
|
||||
|
||||
LastError = GetLastError();
|
||||
|
||||
if((LastError == 0) || !FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER |
|
||||
FORMAT_MESSAGE_FROM_SYSTEM, NULL, LastError,
|
||||
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),(LPWSTR)&lpMsg, 0,
|
||||
NULL))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
MessageBox(hWndOwner, lpMsg, NULL, MB_OK | MB_ICONERROR);
|
||||
|
||||
LocalFree((LPVOID)lpMsg);
|
||||
}
|
||||
|
||||
typedef struct
|
||||
{
|
||||
HWND hDlg;
|
||||
} OSITINFO, *POSITINFO;
|
||||
|
||||
DWORD WINAPI
|
||||
ObtainSystemInformationThread(POSITINFO posit)
|
||||
{
|
||||
HRSRC hResInfo;
|
||||
HGLOBAL hResMem;
|
||||
WCHAR *LicenseText;
|
||||
|
||||
/* wait a bit */
|
||||
Sleep(100);
|
||||
|
||||
/* load license from resource */
|
||||
if(!(hResInfo = FindResource(hApplet, MAKEINTRESOURCE(RC_LICENSE),
|
||||
MAKEINTRESOURCE(RTDATA))) ||
|
||||
!(hResMem = LoadResource(hApplet, hResInfo)) ||
|
||||
!(LicenseText = LockResource(hResMem)))
|
||||
{
|
||||
ShowLastWin32Error(posit->hDlg);
|
||||
goto LoadSystemInfo;
|
||||
}
|
||||
/* insert the license into the edit control (unicode!) */
|
||||
SetDlgItemText(posit->hDlg, IDC_LICENSEMEMO, LicenseText);
|
||||
SendDlgItemMessage(posit->hDlg, IDC_LICENSEMEMO, EM_SETSEL, 0, 0);
|
||||
|
||||
LoadSystemInfo:
|
||||
/* FIXME */
|
||||
/*free:*/
|
||||
HeapFree(GetProcessHeap(), 0, posit);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* Property page dialog callback */
|
||||
BOOL CALLBACK
|
||||
GeneralPageProc(
|
||||
HWND hwndDlg,
|
||||
UINT uMsg,
|
||||
WPARAM wParam,
|
||||
LPARAM lParam
|
||||
)
|
||||
{
|
||||
switch(uMsg)
|
||||
{
|
||||
case WM_INITDIALOG:
|
||||
{
|
||||
HANDLE Thread;
|
||||
DWORD ThreadId;
|
||||
POSITINFO posit;
|
||||
|
||||
posit = (POSITINFO)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(OSITINFO));
|
||||
if(!posit)
|
||||
{
|
||||
ShowLastWin32Error(hwndDlg);
|
||||
return FALSE;
|
||||
}
|
||||
posit->hDlg = hwndDlg;
|
||||
Thread = CreateThread(NULL,
|
||||
0,
|
||||
(LPTHREAD_START_ROUTINE)ObtainSystemInformationThread,
|
||||
(PVOID)posit,
|
||||
0,
|
||||
&ThreadId);
|
||||
if(Thread)
|
||||
{
|
||||
CloseHandle(Thread);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
82
reactos/lib/cpl/sysdm/hardware.c
Normal file
82
reactos/lib/cpl/sysdm/hardware.c
Normal file
|
@ -0,0 +1,82 @@
|
|||
/*
|
||||
* ReactOS
|
||||
* Copyright (C) 2004 ReactOS Team
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
/* $Id: hardware.c,v 1.1 2004/03/08 14:24:47 weiden Exp $
|
||||
*
|
||||
* PROJECT: ReactOS System Control Panel
|
||||
* FILE: lib/cpl/system/hardware.c
|
||||
* PURPOSE: Hardware devices
|
||||
* PROGRAMMER: Thomas Weidenmueller (w3seek@users.sourceforge.net)
|
||||
* UPDATE HISTORY:
|
||||
* 03-04-2004 Created
|
||||
*/
|
||||
#include <windows.h>
|
||||
#include <stdlib.h>
|
||||
#include "resource.h"
|
||||
#include "sysdm.h"
|
||||
|
||||
typedef WINBOOL (STDCALL *PDEVMGREXEC)(HWND hWndParent, HINSTANCE hInst, PVOID Unknown, int nCmdShow);
|
||||
BOOL LaunchDeviceManager(HWND hWndParent)
|
||||
{
|
||||
HMODULE hDll;
|
||||
PDEVMGREXEC DevMgrExec;
|
||||
BOOL Ret;
|
||||
|
||||
if(!(hDll = LoadLibrary(L"devmgr.dll")))
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
if(!(DevMgrExec = (PDEVMGREXEC)GetProcAddress(hDll, "DeviceManager_ExecuteW")))
|
||||
{
|
||||
FreeLibrary(hDll);
|
||||
return FALSE;
|
||||
}
|
||||
/* run the Device Manager */
|
||||
Ret = DevMgrExec(hWndParent, hApplet, NULL /* ??? */, SW_SHOW);
|
||||
FreeLibrary(hDll);
|
||||
return Ret;
|
||||
}
|
||||
|
||||
/* Property page dialog callback */
|
||||
BOOL CALLBACK
|
||||
HardwarePageProc(
|
||||
HWND hwndDlg,
|
||||
UINT uMsg,
|
||||
WPARAM wParam,
|
||||
LPARAM lParam
|
||||
)
|
||||
{
|
||||
switch(uMsg)
|
||||
{
|
||||
case WM_INITDIALOG:
|
||||
break;
|
||||
case WM_COMMAND:
|
||||
switch(LOWORD(wParam))
|
||||
{
|
||||
case IDC_DEVMGR:
|
||||
if(!LaunchDeviceManager(hwndDlg))
|
||||
{
|
||||
/* FIXME */
|
||||
}
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
38
reactos/lib/cpl/sysdm/resource.h
Normal file
38
reactos/lib/cpl/sysdm/resource.h
Normal file
|
@ -0,0 +1,38 @@
|
|||
#ifndef __CPL_RESOURCE_H
|
||||
#define __CPL_RESOURCE_H
|
||||
|
||||
/* metrics */
|
||||
#define PROPSHEETWIDTH 246
|
||||
#define PROPSHEETHEIGHT 228
|
||||
#define PROPSHEETPADDING 6
|
||||
#define SYSTEM_COLUMN (18 * PROPSHEETPADDING)
|
||||
#define LABELLINE(x) (((PROPSHEETPADDING + 2) * x) + (x + 2))
|
||||
#define ICONSIZE 16
|
||||
|
||||
/* ids */
|
||||
#define RC_LICENSE 101
|
||||
#define RTDATA 300
|
||||
|
||||
#define IDI_CPLSYSTEM 100
|
||||
#define IDI_DEVMGR 101
|
||||
|
||||
#define IDD_PROPPAGEGENERAL 100
|
||||
#define IDD_PROPPAGECOMPUTER 101
|
||||
#define IDD_PROPPAGEHARDWARE 102
|
||||
#define IDD_PROPPAGEADVANCED 103
|
||||
|
||||
#define IDS_CPLSYSTEMNAME 1001
|
||||
#define IDS_CPLSYSTEMDESCRIPTION 2001
|
||||
|
||||
/* controls */
|
||||
#define IDC_LICENSEMEMO 101
|
||||
#define IDC_PROCESSORMANUFACTURER 102
|
||||
#define IDC_PROCESSOR 103
|
||||
#define IDC_PROCESSORSPEED 104
|
||||
#define IDC_SYSTEMMEMORY 105
|
||||
#define IDC_DEVMGR 106
|
||||
#define IDC_ICON1 201
|
||||
|
||||
#endif /* __CPL_RESOURCE_H */
|
||||
|
||||
/* EOF */
|
BIN
reactos/lib/cpl/sysdm/resources/applet.ico
Normal file
BIN
reactos/lib/cpl/sysdm/resources/applet.ico
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.4 KiB |
BIN
reactos/lib/cpl/sysdm/resources/devmgr.ico
Normal file
BIN
reactos/lib/cpl/sysdm/resources/devmgr.ico
Normal file
Binary file not shown.
After Width: | Height: | Size: 10 KiB |
BIN
reactos/lib/cpl/sysdm/resources/gpl.txt
Normal file
BIN
reactos/lib/cpl/sysdm/resources/gpl.txt
Normal file
Binary file not shown.
176
reactos/lib/cpl/sysdm/sysdm.c
Normal file
176
reactos/lib/cpl/sysdm/sysdm.c
Normal file
|
@ -0,0 +1,176 @@
|
|||
/*
|
||||
* ReactOS
|
||||
* Copyright (C) 2004 ReactOS Team
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
/* $Id: sysdm.c,v 1.1 2004/03/08 14:24:47 weiden Exp $
|
||||
*
|
||||
* PROJECT: ReactOS System Control Panel
|
||||
* FILE: lib/cpl/system/sysdm.c
|
||||
* PURPOSE: ReactOS System Control Panel
|
||||
* PROGRAMMER: Thomas Weidenmueller (w3seek@users.sourceforge.net)
|
||||
* UPDATE HISTORY:
|
||||
* 03-04-2004 Created
|
||||
*/
|
||||
#include <windows.h>
|
||||
#include <stdlib.h>
|
||||
#include "resource.h"
|
||||
#include "sysdm.h"
|
||||
|
||||
#define NUM_APPLETS (1)
|
||||
|
||||
LONG CALLBACK SystemApplet(VOID);
|
||||
BOOL CALLBACK GeneralPageProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
|
||||
BOOL CALLBACK ComputerPageProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
|
||||
BOOL CALLBACK HardwarePageProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
|
||||
BOOL CALLBACK AdvancedPageProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
|
||||
HINSTANCE hApplet = 0;
|
||||
|
||||
/* Applets */
|
||||
APPLET Applets[NUM_APPLETS] =
|
||||
{
|
||||
{IDI_CPLSYSTEM, IDS_CPLSYSTEMNAME, IDS_CPLSYSTEMDESCRIPTION, SystemApplet}
|
||||
};
|
||||
|
||||
static void
|
||||
InitPropSheetPage(PROPSHEETPAGE *psp, WORD idDlg, DLGPROC DlgProc)
|
||||
{
|
||||
ZeroMemory(psp, sizeof(PROPSHEETPAGE));
|
||||
psp->dwSize = sizeof(PROPSHEETPAGE);
|
||||
psp->dwFlags = PSP_DEFAULT;
|
||||
psp->hInstance = hApplet;
|
||||
psp->u1.pszTemplate = MAKEINTRESOURCE(idDlg);
|
||||
psp->pfnDlgProc = DlgProc;
|
||||
}
|
||||
|
||||
/* Property Sheet Callback */
|
||||
int CALLBACK
|
||||
PropSheetProc(
|
||||
HWND hwndDlg,
|
||||
UINT uMsg,
|
||||
LPARAM lParam
|
||||
)
|
||||
{
|
||||
switch(uMsg)
|
||||
{
|
||||
case PSCB_BUTTONPRESSED:
|
||||
switch(lParam)
|
||||
{
|
||||
case PSBTN_OK: /* OK */
|
||||
break;
|
||||
case PSBTN_CANCEL: /* Cancel */
|
||||
break;
|
||||
case PSBTN_APPLYNOW: /* Apply now */
|
||||
break;
|
||||
case PSBTN_FINISH: /* Close */
|
||||
break;
|
||||
default:
|
||||
return FALSE;
|
||||
}
|
||||
break;
|
||||
|
||||
case PSCB_INITIALIZED:
|
||||
break;
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/* First Applet */
|
||||
|
||||
LONG CALLBACK
|
||||
SystemApplet(VOID)
|
||||
{
|
||||
PROPSHEETPAGE psp[4];
|
||||
PROPSHEETHEADER psh;
|
||||
TCHAR Caption[1024];
|
||||
|
||||
LoadString(hApplet, IDS_CPLSYSTEMNAME, Caption, sizeof(Caption) / sizeof(TCHAR));
|
||||
|
||||
ZeroMemory(&psh, sizeof(PROPSHEETHEADER));
|
||||
psh.dwSize = sizeof(PROPSHEETHEADER);
|
||||
psh.dwFlags = PSH_PROPSHEETPAGE | PSH_USECALLBACK | PSH_PROPTITLE;
|
||||
psh.hwndParent = NULL;
|
||||
psh.hInstance = hApplet;
|
||||
psh.u1.hIcon = LoadIcon(hApplet, MAKEINTRESOURCE(IDI_CPLSYSTEM));
|
||||
psh.pszCaption = Caption;
|
||||
psh.nPages = sizeof(psp) / sizeof(PROPSHEETHEADER);
|
||||
psh.u2.nStartPage = 0;
|
||||
psh.u3.ppsp = psp;
|
||||
psh.pfnCallback = PropSheetProc;
|
||||
|
||||
InitPropSheetPage(&psp[0], IDD_PROPPAGEGENERAL, GeneralPageProc);
|
||||
InitPropSheetPage(&psp[1], IDD_PROPPAGECOMPUTER, ComputerPageProc);
|
||||
InitPropSheetPage(&psp[2], IDD_PROPPAGEHARDWARE, HardwarePageProc);
|
||||
InitPropSheetPage(&psp[3], IDD_PROPPAGEADVANCED, AdvancedPageProc);
|
||||
|
||||
return (LONG)(PropertySheet(&psh) != -1);
|
||||
}
|
||||
|
||||
/* Control Panel Callback */
|
||||
LONG CALLBACK
|
||||
CPlApplet(
|
||||
HWND hwndCPl,
|
||||
UINT uMsg,
|
||||
LPARAM lParam1,
|
||||
LPARAM lParam2)
|
||||
{
|
||||
int i = (int)lParam1;
|
||||
|
||||
switch(uMsg)
|
||||
{
|
||||
case CPL_INIT:
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
case CPL_GETCOUNT:
|
||||
{
|
||||
return NUM_APPLETS;
|
||||
}
|
||||
case CPL_INQUIRE:
|
||||
{
|
||||
CPLINFO *CPlInfo = (CPLINFO*)lParam2;
|
||||
CPlInfo->lData = 0;
|
||||
CPlInfo->idIcon = Applets[i].idIcon;
|
||||
CPlInfo->idName = Applets[i].idName;
|
||||
CPlInfo->idInfo = Applets[i].idDescription;
|
||||
break;
|
||||
}
|
||||
case CPL_DBLCLK:
|
||||
{
|
||||
Applets[i].AppletProc();
|
||||
break;
|
||||
}
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
||||
BOOL STDCALL
|
||||
DllMain(
|
||||
HINSTANCE hinstDLL,
|
||||
DWORD dwReason,
|
||||
LPVOID lpvReserved)
|
||||
{
|
||||
switch(dwReason)
|
||||
{
|
||||
case DLL_PROCESS_ATTACH:
|
||||
case DLL_THREAD_ATTACH:
|
||||
hApplet = hinstDLL;
|
||||
break;
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
6
reactos/lib/cpl/sysdm/sysdm.def
Normal file
6
reactos/lib/cpl/sysdm/sysdm.def
Normal file
|
@ -0,0 +1,6 @@
|
|||
LIBRARY cplsample.cpl
|
||||
|
||||
EXPORTS
|
||||
CPlApplet@16
|
||||
|
||||
; EOF
|
6
reactos/lib/cpl/sysdm/sysdm.edf
Normal file
6
reactos/lib/cpl/sysdm/sysdm.edf
Normal file
|
@ -0,0 +1,6 @@
|
|||
LIBRARY cplsample.cpl
|
||||
|
||||
EXPORTS
|
||||
CPlApplet=CPlApplet@16
|
||||
|
||||
; EOF
|
20
reactos/lib/cpl/sysdm/sysdm.h
Normal file
20
reactos/lib/cpl/sysdm/sysdm.h
Normal file
|
@ -0,0 +1,20 @@
|
|||
#ifndef __CPL_SYSDM_H
|
||||
#define __CPL_SYSDM_H
|
||||
|
||||
typedef LONG (CALLBACK *APPLET_PROC)(VOID);
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int idIcon;
|
||||
int idName;
|
||||
int idDescription;
|
||||
APPLET_PROC AppletProc;
|
||||
} APPLET, *PAPPLET;
|
||||
|
||||
extern HINSTANCE hApplet;
|
||||
|
||||
void ShowLastWin32Error(HWND hWndOwner);
|
||||
|
||||
#endif /* __CPL_SYSDM_H */
|
||||
|
||||
/* EOF */
|
93
reactos/lib/cpl/sysdm/sysdm.rc
Normal file
93
reactos/lib/cpl/sysdm/sysdm.rc
Normal file
|
@ -0,0 +1,93 @@
|
|||
#include <reactos/resource.h>
|
||||
#include <defines.h>
|
||||
#include "resource.h"
|
||||
|
||||
LANGUAGE LANG_ENGLISH, SUBLANG_DEFAULT
|
||||
|
||||
VS_VERSION_INFO VERSIONINFO
|
||||
FILEVERSION RES_UINT_FV_MAJOR,RES_UINT_FV_MINOR,RES_UINT_FV_REVISION,RES_UINT_FV_BUILD
|
||||
PRODUCTVERSION RES_UINT_PV_MAJOR,RES_UINT_PV_MINOR,RES_UINT_PV_REVISION,RES_UINT_PV_BUILD
|
||||
FILEFLAGSMASK 0x3fL
|
||||
#ifdef _DEBUG
|
||||
FILEFLAGS 0x1L
|
||||
#else
|
||||
FILEFLAGS 0x0L
|
||||
#endif
|
||||
FILEOS 0x40004L
|
||||
FILETYPE 0x2L
|
||||
FILESUBTYPE 0x0L
|
||||
BEGIN
|
||||
BLOCK "StringFileInfo"
|
||||
BEGIN
|
||||
BLOCK "040904b0"
|
||||
BEGIN
|
||||
VALUE "CompanyName", RES_STR_COMPANY_NAME
|
||||
VALUE "FileDescription", "ReactOS System Control Panel\0"
|
||||
VALUE "FileVersion", RES_STR_FILE_VERSION
|
||||
VALUE "InternalName", "sysdm\0"
|
||||
VALUE "LegalCopyright", RES_STR_LEGAL_COPYRIGHT
|
||||
VALUE "OriginalFilename", "sysdm.cpl\0"
|
||||
VALUE "ProductName", RES_STR_PRODUCT_NAME
|
||||
VALUE "ProductVersion", RES_STR_PRODUCT_VERSION
|
||||
END
|
||||
END
|
||||
BLOCK "VarFileInfo"
|
||||
BEGIN
|
||||
VALUE "Translation", 0x409, 1200
|
||||
END
|
||||
END
|
||||
|
||||
IDI_CPLSYSTEM ICON "resources/applet.ico"
|
||||
IDI_DEVMGR ICON "resources/devmgr.ico"
|
||||
RC_LICENSE RTDATA "resources/gpl.txt"
|
||||
|
||||
IDD_PROPPAGEGENERAL DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT
|
||||
STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION
|
||||
CAPTION "General"
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x0
|
||||
BEGIN
|
||||
LTEXT "Operating System",-1,SYSTEM_COLUMN,LABELLINE(2),PROPSHEETWIDTH-SYSTEM_COLUMN-PROPSHEETPADDING,8
|
||||
LTEXT RES_STR_PRODUCT_NAME,-1,SYSTEM_COLUMN+PROPSHEETPADDING,LABELLINE(3),PROPSHEETWIDTH-SYSTEM_COLUMN-PROPSHEETPADDING,8
|
||||
LTEXT "Version " RES_STR_PRODUCT_VERSION,-1,SYSTEM_COLUMN+PROPSHEETPADDING,LABELLINE(4),PROPSHEETWIDTH-SYSTEM_COLUMN-PROPSHEETPADDING,8
|
||||
|
||||
LTEXT "Computer",-1,SYSTEM_COLUMN,LABELLINE(6),PROPSHEETWIDTH-SYSTEM_COLUMN-PROPSHEETPADDING,8
|
||||
LTEXT "",IDC_PROCESSORMANUFACTURER,SYSTEM_COLUMN+PROPSHEETPADDING,LABELLINE(7),PROPSHEETWIDTH-SYSTEM_COLUMN-PROPSHEETPADDING,8
|
||||
LTEXT "",IDC_PROCESSOR,SYSTEM_COLUMN+PROPSHEETPADDING,LABELLINE(8),PROPSHEETWIDTH-SYSTEM_COLUMN-PROPSHEETPADDING,8
|
||||
LTEXT "",IDC_PROCESSORSPEED,SYSTEM_COLUMN+PROPSHEETPADDING,LABELLINE(9),PROPSHEETWIDTH-SYSTEM_COLUMN-PROPSHEETPADDING,8
|
||||
LTEXT "",IDC_SYSTEMMEMORY,SYSTEM_COLUMN+PROPSHEETPADDING,LABELLINE(10),PROPSHEETWIDTH-SYSTEM_COLUMN-PROPSHEETPADDING,8
|
||||
|
||||
EDITTEXT IDC_LICENSEMEMO,PROPSHEETPADDING,LABELLINE(13),PROPSHEETWIDTH-(2*PROPSHEETPADDING),PROPSHEETHEIGHT-LABELLINE(13)-PROPSHEETPADDING,ES_LEFT|WS_TABSTOP|WS_BORDER|WS_VSCROLL|WS_HSCROLL|WS_GROUP|ES_MULTILINE|ES_READONLY
|
||||
END
|
||||
|
||||
IDD_PROPPAGECOMPUTER DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT
|
||||
STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION
|
||||
CAPTION "Computer Name"
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x0
|
||||
BEGIN
|
||||
/* LTEXT "Property Page 2",-1,73,74,90,8 */
|
||||
END
|
||||
|
||||
IDD_PROPPAGEHARDWARE DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT
|
||||
STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION
|
||||
CAPTION "Hardware"
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x0
|
||||
BEGIN
|
||||
GROUPBOX "Hardware Devices",-1,PROPSHEETPADDING,PROPSHEETPADDING,PROPSHEETWIDTH-(2*PROPSHEETPADDING),LABELLINE(6)+PROPSHEETPADDING
|
||||
ICON IDI_DEVMGR, IDC_ICON1, (2*PROPSHEETPADDING),LABELLINE(2), ICONSIZE, ICONSIZE, SS_ICON
|
||||
LTEXT "The Device Manager lists all the hardware devices that are installed on your computer. Use the Device Manger to change their settings.",-1,(4*PROPSHEETPADDING)+ICONSIZE,LABELLINE(2),PROPSHEETWIDTH-(6*PROPSHEETPADDING)-ICONSIZE,LABELLINE(3)
|
||||
PUSHBUTTON "&Device Manager",IDC_DEVMGR,PROPSHEETWIDTH-(17*PROPSHEETPADDING),LABELLINE(5)+2,(15*PROPSHEETPADDING),14
|
||||
END
|
||||
|
||||
IDD_PROPPAGEADVANCED DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT
|
||||
STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION
|
||||
CAPTION "Advanced"
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x0
|
||||
BEGIN
|
||||
/* LTEXT "Property Page 4",-1,73,74,90,8 */
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_CPLSYSTEMNAME "System"
|
||||
IDS_CPLSYSTEMDESCRIPTION "See information about your computer and change various system and hardware settings."
|
||||
END
|
Loading…
Reference in a new issue