mirror of
https://github.com/reactos/reactos.git
synced 2024-12-28 01:55:19 +00:00
started implementation of msconfig tool
svn path=/trunk/; revision=18504
This commit is contained in:
parent
5cd92ce1f5
commit
dc37877edc
13 changed files with 573 additions and 0 deletions
|
@ -32,6 +32,9 @@
|
|||
<directory name="lsass">
|
||||
<xi:include href="lsass/lsass.xml" />
|
||||
</directory>
|
||||
<directory name="msconfig">
|
||||
<xi:include href="msconfig/msconfig.xml" />
|
||||
</directory>
|
||||
<directory name="msiexec">
|
||||
<xi:include href="msiexec/msiexec.xml" />
|
||||
</directory>
|
||||
|
|
71
reactos/subsys/system/msconfig/De.rc
Normal file
71
reactos/subsys/system/msconfig/De.rc
Normal file
|
@ -0,0 +1,71 @@
|
|||
LANGUAGE LANG_GERMAN, SUBLANG_GERMAN
|
||||
|
||||
IDD_MSCONFIG_DIALOG DIALOG DISCARDABLE 0, 0, 378, 220
|
||||
STYLE DS_CENTER | WS_MINIMIZEBOX | WS_POPUP |
|
||||
WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_CAPTION | WS_SYSMENU |
|
||||
WS_THICKFRAME
|
||||
CAPTION "Systemkonfigurationsprogramm"
|
||||
FONT 8, "Tahoma"
|
||||
BEGIN
|
||||
CONTROL "Tab1",IDC_TAB,"SysTabControl32",WS_TABSTOP,2,2,374,195
|
||||
DEFPUSHBUTTON "OK", IDOK, 211, 201, 50, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
|
||||
PUSHBUTTON "&Hilfe", IDC_BTN_HELP, 2, 201, 50, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
|
||||
PUSHBUTTON "Abbrechen", IDCANCEL, 267, 201, 50, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
|
||||
PUSHBUTTON "Ü&bernehmen", IDC_BTN_APPLY, 323, 201, 50, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
|
||||
END
|
||||
|
||||
IDD_TOOLS_PAGE DIALOG DISCARDABLE 0, 0, 362, 175
|
||||
STYLE DS_CONTROL | WS_CHILD | WS_CLIPCHILDREN
|
||||
FONT 8, "Tahoma"
|
||||
BEGIN
|
||||
CONTROL "List2",IDC_TOOLS_LIST, "SysListView32", LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS | WS_BORDER | WS_TABSTOP, 2, 1, 360, 134
|
||||
EDITTEXT IDC_TOOLS_CMDLINE, 1, 139, 360, 12, ES_READONLY
|
||||
PUSHBUTTON "&Ausführen", IDC_BTN_RUN, 311, 155, 50, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
|
||||
END
|
||||
|
||||
IDD_SERVICES_PAGE DIALOG DISCARDABLE 0, 0, 362, 175
|
||||
STYLE DS_CONTROL | WS_CHILD | WS_CLIPCHILDREN
|
||||
FONT 8, "Tahoma"
|
||||
BEGIN
|
||||
CONTROL "List1",IDC_SERVICES_LIST, "SysListView32", LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS | WS_BORDER | WS_TABSTOP, 2, 1, 360, 168
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_TAB_GENERAL "Allgemein"
|
||||
IDS_TAB_FREELDR "FREELDR.INI"
|
||||
IDS_TAB_SERVICES "Dienste"
|
||||
IDS_TAB_STARTUP "Systemstart"
|
||||
IDS_TAB_TOOLS "Tools"
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_SERVICES_COLUMN_SERVICE "Dienst"
|
||||
IDS_SERVICES_COLUMN_VENDOR "Hersteller"
|
||||
IDS_SERVICES_COLUMN_STATUS "Status"
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_TOOLS_COLUMN_NAME "Name"
|
||||
IDS_TOOLS_COLUMN_DESCR "Beschreibung"
|
||||
|
||||
IDS_TOOLS_CMD_NAME "Konsole"
|
||||
IDS_TOOLS_CMD_DESCR "Öffnet die Eingabeaufforderung."
|
||||
IDS_TOOLS_CMD_CMD "cmd.exe"
|
||||
IDS_TOOLS_CMD_PARAM ""
|
||||
|
||||
IDS_TOOLS_INFO_NAME "Version"
|
||||
IDS_TOOLS_INFO_DESCR "Zeigt die installierte ReactOS Version an."
|
||||
IDS_TOOLS_INFO_CMD "winver.exe"
|
||||
|
||||
IDS_TOOLS_REGEDIT_NAME "Registrierungs-Editor"
|
||||
IDS_TOOLS_REGEDIT_DESCR "Öffnet den Registrierungs-Editor."
|
||||
IDS_TOOLS_REGEDIT_CMD "regedit.exe"
|
||||
|
||||
IDS_TOOLS_SYSDM_NAME "Systemeigenschaften"
|
||||
IDS_TOOLS_SYSDM_DESCR "Zeigt Informationen über diesen Rechner an."
|
||||
IDS_TOOLS_SYSDM_CMD "control"
|
||||
IDS_TOOLS_SYSDM_PARAM "sysdm.cpl"
|
||||
END
|
70
reactos/subsys/system/msconfig/En.rc
Normal file
70
reactos/subsys/system/msconfig/En.rc
Normal file
|
@ -0,0 +1,70 @@
|
|||
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
|
||||
|
||||
IDD_MSCONFIG_DIALOG DIALOG DISCARDABLE 0, 0, 378, 220
|
||||
STYLE DS_CENTER | WS_MINIMIZEBOX | WS_POPUP |
|
||||
WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_CAPTION | WS_SYSMENU |
|
||||
WS_THICKFRAME
|
||||
CAPTION "Systemkonfigurationsprogramm"
|
||||
FONT 8, "Tahoma"
|
||||
BEGIN
|
||||
CONTROL "Tab1",IDC_TAB,"SysTabControl32",WS_TABSTOP,2,2,374,195
|
||||
DEFPUSHBUTTON "OK", IDOK, 211, 201, 50, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
|
||||
PUSHBUTTON "&Help", IDC_BTN_HELP, 2, 201, 50, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
|
||||
PUSHBUTTON "Cancel", IDCANCEL, 267, 201, 50, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
|
||||
PUSHBUTTON "Apply", IDC_BTN_APPLY, 323, 201, 50, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
|
||||
END
|
||||
|
||||
IDD_TOOLS_PAGE DIALOG DISCARDABLE 0, 0, 362, 175
|
||||
STYLE DS_CONTROL | WS_CHILD | WS_CLIPCHILDREN
|
||||
FONT 8, "Tahoma"
|
||||
BEGIN
|
||||
CONTROL "List2",IDC_TOOLS_LIST, "SysListView32", LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS | WS_BORDER | WS_TABSTOP, 2, 1, 360, 134
|
||||
EDITTEXT IDC_TOOLS_CMDLINE, 1, 139, 360, 12, ES_READONLY
|
||||
PUSHBUTTON "&Run", IDC_BTN_RUN, 311, 155, 50, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
|
||||
END
|
||||
|
||||
IDD_SERVICES_PAGE DIALOG DISCARDABLE 0, 0, 362, 175
|
||||
STYLE DS_CONTROL | WS_CHILD | WS_CLIPCHILDREN
|
||||
FONT 8, "Tahoma"
|
||||
BEGIN
|
||||
CONTROL "List1",IDC_SERVICES_LIST, "SysListView32", LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS | WS_BORDER | WS_TABSTOP, 2, 1, 360, 168
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_TAB_GENERAL "General"
|
||||
IDS_TAB_FREELDR "FREELDR.INI"
|
||||
IDS_TAB_SERVICES "Services"
|
||||
IDS_TAB_STARTUP "Startup"
|
||||
IDS_TAB_TOOLS "Tools"
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_SERVICES_COLUMN_SERVICE "Service"
|
||||
IDS_SERVICES_COLUMN_VENDOR "Vendor"
|
||||
IDS_SERVICES_COLUMN_STATUS "Status"
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_TOOLS_COLUMN_NAME "Name"
|
||||
IDS_TOOLS_COLUMN_DESCR "Description"
|
||||
|
||||
IDS_TOOLS_CMD_NAME "Console"
|
||||
IDS_TOOLS_CMD_DESCR ""
|
||||
IDS_TOOLS_CMD_CMD "cmd.exe"
|
||||
|
||||
IDS_TOOLS_INFO_NAME "Version"
|
||||
IDS_TOOLS_INFO_DESCR "Displays version information."
|
||||
IDS_TOOLS_INFO_CMD "winver.exe"
|
||||
|
||||
IDS_TOOLS_REGEDIT_NAME "Registry-Editor"
|
||||
IDS_TOOLS_REGEDIT_DESCR "Opens the Registry-Editor."
|
||||
IDS_TOOLS_REGEDIT_CMD "regedit.exe"
|
||||
|
||||
IDS_TOOLS_SYSDM_NAME "Systemproperties"
|
||||
IDS_TOOLS_SYSDM_DESCR "Shows information about this computer."
|
||||
IDS_TOOLS_SYSDM_CMD "control"
|
||||
IDS_TOOLS_SYSDM_PARAM "sysdm.cpl"
|
||||
END
|
152
reactos/subsys/system/msconfig/msconfig.c
Normal file
152
reactos/subsys/system/msconfig/msconfig.c
Normal file
|
@ -0,0 +1,152 @@
|
|||
#include <precomp.h>
|
||||
|
||||
HINSTANCE hInst = 0;
|
||||
|
||||
HWND hMainWnd; /* Main Window */
|
||||
HWND hTabWnd; /* Tab Control Window */
|
||||
|
||||
|
||||
BOOL OnCreate(HWND hWnd)
|
||||
{
|
||||
TCHAR szTemp[256];
|
||||
TCITEM item;
|
||||
|
||||
hTabWnd = GetDlgItem(hWnd, IDC_TAB);
|
||||
hToolsPage = CreateDialog(hInst, MAKEINTRESOURCE(IDD_TOOLS_PAGE), hWnd, ToolsPageWndProc);
|
||||
hServicesPage = CreateDialog(hInst, MAKEINTRESOURCE(IDD_SERVICES_PAGE), hWnd, ServicesPageWndProc);
|
||||
|
||||
// Insert Tab Pages
|
||||
LoadString(hInst, IDS_TAB_GENERAL, szTemp, 256);
|
||||
memset(&item, 0, sizeof(TCITEM));
|
||||
item.mask = TCIF_TEXT;
|
||||
item.pszText = szTemp;
|
||||
TabCtrl_InsertItem(hTabWnd, 0, &item);
|
||||
|
||||
LoadString(hInst, IDS_TAB_FREELDR, szTemp, 256);
|
||||
memset(&item, 0, sizeof(TCITEM));
|
||||
item.mask = TCIF_TEXT;
|
||||
item.pszText = szTemp;
|
||||
TabCtrl_InsertItem(hTabWnd, 1, &item);
|
||||
|
||||
LoadString(hInst, IDS_TAB_SERVICES, szTemp, 256);
|
||||
memset(&item, 0, sizeof(TCITEM));
|
||||
item.mask = TCIF_TEXT;
|
||||
item.pszText = szTemp;
|
||||
TabCtrl_InsertItem(hTabWnd, 2, &item);
|
||||
|
||||
LoadString(hInst, IDS_TAB_STARTUP, szTemp, 256);
|
||||
memset(&item, 0, sizeof(TCITEM));
|
||||
item.mask = TCIF_TEXT;
|
||||
item.pszText = szTemp;
|
||||
TabCtrl_InsertItem(hTabWnd, 3, &item);
|
||||
|
||||
LoadString(hInst, IDS_TAB_TOOLS, szTemp, 256);
|
||||
memset(&item, 0, sizeof(TCITEM));
|
||||
item.mask = TCIF_TEXT;
|
||||
item.pszText = szTemp;
|
||||
TabCtrl_InsertItem(hTabWnd, 4, &item);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
void MsConfig_OnTabWndSelChange(void)
|
||||
{
|
||||
switch (TabCtrl_GetCurSel(hTabWnd)) {
|
||||
case 0:
|
||||
ShowWindow(hToolsPage, SW_HIDE);
|
||||
//ShowWindow(hFreeLdrPage, SW_SHOW);
|
||||
ShowWindow(hServicesPage, SW_HIDE);
|
||||
//BringWindowToTop(hFreeLdrPage);
|
||||
break;
|
||||
case 1:
|
||||
ShowWindow(hToolsPage, SW_HIDE);
|
||||
//ShowWindow(hFreeLdrPage, SW_SHOW);
|
||||
ShowWindow(hServicesPage, SW_HIDE);
|
||||
//BringWindowToTop(hFreeLdrPage);
|
||||
break;
|
||||
case 2:
|
||||
ShowWindow(hToolsPage, SW_HIDE);
|
||||
//ShowWindow(hFreeLdrPage, SW_HIDE);
|
||||
ShowWindow(hServicesPage, SW_SHOW);
|
||||
//BringWindowToTop(hFreeLdrPage);
|
||||
break;
|
||||
case 3:
|
||||
ShowWindow(hToolsPage, SW_HIDE);
|
||||
//ShowWindow(hFreeLdrPage, SW_HIDE);
|
||||
ShowWindow(hServicesPage, SW_HIDE);
|
||||
//BringWindowToTop(hFreeLdrPage);
|
||||
break;
|
||||
case 4:
|
||||
ShowWindow(hToolsPage, SW_SHOW);
|
||||
//ShowWindow(hFreeLdrPage, SW_HIDE);
|
||||
ShowWindow(hServicesPage, SW_HIDE);
|
||||
BringWindowToTop(hToolsPage);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* Message handler for dialog box. */
|
||||
INT_PTR CALLBACK
|
||||
MsConfigWndProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
int idctrl;
|
||||
LPNMHDR pnmh;
|
||||
|
||||
switch (message) {
|
||||
case WM_INITDIALOG:
|
||||
hMainWnd = hDlg;
|
||||
return OnCreate(hDlg);
|
||||
|
||||
case WM_COMMAND:
|
||||
|
||||
if (LOWORD(wParam) == IDOK) {
|
||||
//MsConfig_OnSaveChanges();
|
||||
}
|
||||
|
||||
if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL) {
|
||||
EndDialog(hDlg, LOWORD(wParam));
|
||||
return TRUE;
|
||||
}
|
||||
break;
|
||||
|
||||
case WM_NOTIFY:
|
||||
idctrl = (int)wParam;
|
||||
pnmh = (LPNMHDR)lParam;
|
||||
if ((pnmh->hwndFrom == hTabWnd) &&
|
||||
(pnmh->idFrom == IDC_TAB) &&
|
||||
(pnmh->code == TCN_SELCHANGE))
|
||||
{
|
||||
MsConfig_OnTabWndSelChange();
|
||||
}
|
||||
break;
|
||||
|
||||
case WM_DESTROY:
|
||||
return DefWindowProc(hDlg, message, wParam, lParam);
|
||||
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int APIENTRY WinMain(HINSTANCE hInstance,
|
||||
HINSTANCE hPrevInstance,
|
||||
LPSTR lpCmdLine,
|
||||
int nCmdShow)
|
||||
{
|
||||
|
||||
INITCOMMONCONTROLSEX InitControls;
|
||||
|
||||
InitControls.dwSize = sizeof(INITCOMMONCONTROLSEX);
|
||||
InitControls.dwICC = ICC_TAB_CLASSES | ICC_LISTVIEW_CLASSES;
|
||||
InitCommonControlsEx(&InitControls);
|
||||
|
||||
hInst = hInstance;
|
||||
|
||||
DialogBox(hInst, (LPCTSTR)IDD_MSCONFIG_DIALOG, NULL, MsConfigWndProc);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* EOF */
|
2
reactos/subsys/system/msconfig/msconfig.h
Normal file
2
reactos/subsys/system/msconfig/msconfig.h
Normal file
|
@ -0,0 +1,2 @@
|
|||
extern HINSTANCE hInst;
|
||||
|
18
reactos/subsys/system/msconfig/msconfig.rc
Normal file
18
reactos/subsys/system/msconfig/msconfig.rc
Normal file
|
@ -0,0 +1,18 @@
|
|||
#include <windows.h>
|
||||
#include <commctrl.h>
|
||||
|
||||
#include "resource.h"
|
||||
|
||||
|
||||
LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
|
||||
|
||||
#define REACTOS_VERSION_DLL
|
||||
#define REACTOS_STR_FILE_DESCRIPTION "ReactOS Systemconfiguration Tool\0"
|
||||
#define REACTOS_STR_INTERNAL_NAME "msconfig\0"
|
||||
#define REACTOS_STR_ORIGINAL_FILENAME "msconfig.exe\0"
|
||||
#include <reactos/version.rc>
|
||||
|
||||
|
||||
#include "De.rc"
|
||||
#include "En.rc"
|
||||
|
16
reactos/subsys/system/msconfig/msconfig.xml
Normal file
16
reactos/subsys/system/msconfig/msconfig.xml
Normal file
|
@ -0,0 +1,16 @@
|
|||
<module name="msconfig" type="win32gui" installbase="system32" installname="msconfig.exe">
|
||||
<include base="msconfig">.</include>
|
||||
<define name="UNICODE" />
|
||||
<define name="_UNICODE" />
|
||||
<define name="__REACTOS__" />
|
||||
<define name="__USE_W32API" />
|
||||
<define name="_WIN32_IE">0x600</define>
|
||||
<define name="_WIN32_WINNT">0x501</define>
|
||||
<library>kernel32</library>
|
||||
<library>user32</library>
|
||||
<library>comctl32</library>
|
||||
<file>toolspage.c</file>
|
||||
<file>srvpage.c</file>
|
||||
<file>msconfig.c</file>
|
||||
<file>msconfig.rc</file>
|
||||
</module>
|
11
reactos/subsys/system/msconfig/precomp.h
Normal file
11
reactos/subsys/system/msconfig/precomp.h
Normal file
|
@ -0,0 +1,11 @@
|
|||
#include <windows.h>
|
||||
#define NTOS_MODE_USER
|
||||
#include <commctrl.h>
|
||||
#include <winuser.h>
|
||||
#include <tchar.h>
|
||||
|
||||
#include "resource.h"
|
||||
#include "msconfig.h"
|
||||
#include "toolspage.h"
|
||||
#include "srvpage.h"
|
||||
|
47
reactos/subsys/system/msconfig/resource.h
Normal file
47
reactos/subsys/system/msconfig/resource.h
Normal file
|
@ -0,0 +1,47 @@
|
|||
#define IDD_MSCONFIG_DIALOG 101
|
||||
#define IDD_TOOLS_PAGE 102
|
||||
#define IDD_SERVICES_PAGE 103
|
||||
#define IDD_GENERAL_PAGE 104
|
||||
#define IDD_STARTUP_PAGE 105
|
||||
|
||||
#define IDC_TAB 1001
|
||||
#define IDC_BTN_APPLY 1002
|
||||
#define IDC_BTN_HELP 1003
|
||||
#define IDC_TOOLS_CMDLINE 1004
|
||||
#define IDC_BTN_RUN 1005
|
||||
#define IDC_SERVICES_LIST 1006
|
||||
#define IDC_TOOLS_LIST 1007
|
||||
|
||||
#define IDS_TAB_TOOLS 2001
|
||||
#define IDS_TAB_FREELDR 2002
|
||||
#define IDS_TAB_STARTUP 2003
|
||||
#define IDS_TAB_SERVICES 2004
|
||||
#define IDS_TAB_GENERAL 2005
|
||||
|
||||
#define IDS_TOOLS_COLUMN_NAME 2010
|
||||
#define IDS_TOOLS_COLUMN_DESCR 2011
|
||||
#define IDS_SERVICES_COLUMN_SERVICE 2012
|
||||
#define IDS_SERVICES_COLUMN_VENDOR 2013
|
||||
#define IDS_SERVICES_COLUMN_STATUS 2014
|
||||
|
||||
#define IDS_TOOLS_CMD_NAME 2100
|
||||
#define IDS_TOOLS_CMD_DESCR 2101
|
||||
#define IDS_TOOLS_CMD_CMD 2102
|
||||
#define IDS_TOOLS_CMD_PARAM 2103
|
||||
|
||||
#define IDS_TOOLS_INFO_NAME 2104
|
||||
#define IDS_TOOLS_INFO_DESCR 2105
|
||||
#define IDS_TOOLS_INFO_CMD 2106
|
||||
#define IDS_TOOLS_INFO_PARAM 2107
|
||||
|
||||
#define IDS_TOOLS_REGEDIT_NAME 2108
|
||||
#define IDS_TOOLS_REGEDIT_DESCR 2109
|
||||
#define IDS_TOOLS_REGEDIT_CMD 2110
|
||||
#define IDS_TOOLS_REGEDIT_PARAM 2111
|
||||
|
||||
#define IDS_TOOLS_SYSDM_NAME 2112
|
||||
#define IDS_TOOLS_SYSDM_DESCR 2113
|
||||
#define IDS_TOOLS_SYSDM_CMD 2114
|
||||
#define IDS_TOOLS_SYSDM_PARAM 2115
|
||||
|
||||
/* EOF */
|
50
reactos/subsys/system/msconfig/srvpage.c
Normal file
50
reactos/subsys/system/msconfig/srvpage.c
Normal file
|
@ -0,0 +1,50 @@
|
|||
#include <precomp.h>
|
||||
|
||||
HWND hServicesPage;
|
||||
HWND hServicesListCtrl;
|
||||
HWND hServicesDialog;
|
||||
|
||||
INT_PTR CALLBACK
|
||||
ServicesPageWndProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
LV_COLUMN column;
|
||||
TCHAR szTemp[256];
|
||||
|
||||
switch (message) {
|
||||
case WM_INITDIALOG:
|
||||
|
||||
hServicesListCtrl = GetDlgItem(hDlg, IDC_TOOLS_LIST);
|
||||
hServicesDialog = hDlg;
|
||||
|
||||
DWORD dwStyle;
|
||||
dwStyle = SendMessage(hServicesListCtrl, LVM_GETEXTENDEDLISTVIEWSTYLE, 0, 0);
|
||||
dwStyle = dwStyle | LVS_EX_FULLROWSELECT | LVS_EX_CHECKBOXES;
|
||||
SendMessage(hServicesListCtrl, LVM_SETEXTENDEDLISTVIEWSTYLE, 0, dwStyle);
|
||||
|
||||
SetWindowPos(hDlg, NULL, 10, 32, 0, 0, SWP_NOACTIVATE | SWP_NOOWNERZORDER | SWP_NOSIZE | SWP_NOZORDER);
|
||||
|
||||
// Initialize the application page's controls
|
||||
column.mask = LVCF_TEXT | LVCF_WIDTH;
|
||||
|
||||
LoadString(hInst, IDS_SERVICES_COLUMN_SERVICE, szTemp, 256);
|
||||
column.pszText = szTemp;
|
||||
column.cx = 150;
|
||||
ListView_InsertColumn(hServicesListCtrl, 0, &column);
|
||||
|
||||
column.mask = LVCF_TEXT | LVCF_WIDTH;
|
||||
LoadString(hInst, IDS_SERVICES_COLUMN_VENDOR, szTemp, 256);
|
||||
column.pszText = szTemp;
|
||||
column.cx = 200;
|
||||
ListView_InsertColumn(hServicesListCtrl, 1, &column);
|
||||
|
||||
column.mask = LVCF_TEXT | LVCF_WIDTH;
|
||||
LoadString(hInst, IDS_SERVICES_COLUMN_STATUS, szTemp, 256);
|
||||
column.pszText = szTemp;
|
||||
column.cx = 70;
|
||||
ListView_InsertColumn(hServicesListCtrl, 1, &column);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
4
reactos/subsys/system/msconfig/srvpage.h
Normal file
4
reactos/subsys/system/msconfig/srvpage.h
Normal file
|
@ -0,0 +1,4 @@
|
|||
extern HWND hServicesPage;
|
||||
extern HWND hServicesListCtrl;
|
||||
|
||||
INT_PTR CALLBACK ServicesPageWndProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
|
124
reactos/subsys/system/msconfig/toolspage.c
Normal file
124
reactos/subsys/system/msconfig/toolspage.c
Normal file
|
@ -0,0 +1,124 @@
|
|||
#include <precomp.h>
|
||||
|
||||
HWND hToolsPage;
|
||||
HWND hToolsListCtrl;
|
||||
HWND hToolsDialog;
|
||||
|
||||
void AddItem ( DWORD, DWORD, DWORD, DWORD );
|
||||
void FillListView ( void );
|
||||
|
||||
DWORD ListItems_Cmds[20];
|
||||
DWORD ListItems_Params[20];
|
||||
|
||||
void AddItem ( DWORD name_id, DWORD descr_id, DWORD cmd_id , DWORD param_id ) {
|
||||
TCHAR szTemp[256];
|
||||
LV_ITEM item;
|
||||
|
||||
LoadString(hInst, name_id, szTemp, 256);
|
||||
memset(&item, 0, sizeof(LV_ITEM));
|
||||
item.mask = LVIF_TEXT;
|
||||
item.iImage = 0;
|
||||
item.pszText = szTemp;
|
||||
item.iItem = ListView_GetItemCount(hToolsListCtrl);
|
||||
item.lParam = 0;
|
||||
ListView_InsertItem(hToolsListCtrl, &item);
|
||||
|
||||
ListItems_Cmds[item.iItem] = cmd_id;
|
||||
ListItems_Params[item.iItem] = param_id;
|
||||
|
||||
LoadString(hInst, descr_id, szTemp, 256);
|
||||
item.pszText = szTemp;
|
||||
item.iSubItem = 1;
|
||||
SendMessage(hToolsListCtrl, LVM_SETITEMTEXT, item.iItem, (LPARAM) &item);
|
||||
}
|
||||
|
||||
void FillListView ( void ) {
|
||||
AddItem(IDS_TOOLS_CMD_NAME, IDS_TOOLS_CMD_DESCR, IDS_TOOLS_CMD_CMD, IDS_TOOLS_CMD_PARAM);
|
||||
AddItem(IDS_TOOLS_REGEDIT_NAME, IDS_TOOLS_REGEDIT_DESCR, IDS_TOOLS_REGEDIT_CMD,IDS_TOOLS_REGEDIT_PARAM);
|
||||
AddItem(IDS_TOOLS_SYSDM_NAME, IDS_TOOLS_SYSDM_DESCR, IDS_TOOLS_SYSDM_CMD, IDS_TOOLS_SYSDM_PARAM);
|
||||
AddItem(IDS_TOOLS_INFO_NAME, IDS_TOOLS_INFO_DESCR, IDS_TOOLS_INFO_CMD, IDS_TOOLS_INFO_PARAM);
|
||||
}
|
||||
|
||||
INT_PTR CALLBACK
|
||||
ToolsPageWndProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
LV_COLUMN column;
|
||||
TCHAR szTemp[256];
|
||||
TCHAR szTemp2[256];
|
||||
LPNMITEMACTIVATE lpnmitem;
|
||||
LPNMHDR nmh;
|
||||
|
||||
switch (message) {
|
||||
case WM_INITDIALOG:
|
||||
|
||||
hToolsListCtrl = GetDlgItem(hDlg, IDC_TOOLS_LIST);
|
||||
hToolsDialog = hDlg;
|
||||
|
||||
DWORD dwStyle;
|
||||
dwStyle = SendMessage(hToolsListCtrl, LVM_GETEXTENDEDLISTVIEWSTYLE, 0, 0);
|
||||
dwStyle = dwStyle | LVS_EX_FULLROWSELECT;
|
||||
SendMessage(hToolsListCtrl, LVM_SETEXTENDEDLISTVIEWSTYLE, 0, dwStyle);
|
||||
|
||||
SetWindowPos(hDlg, NULL, 10, 32, 0, 0, SWP_NOACTIVATE | SWP_NOOWNERZORDER | SWP_NOSIZE | SWP_NOZORDER);
|
||||
|
||||
// Initialize the application page's controls
|
||||
column.mask = LVCF_TEXT | LVCF_WIDTH;
|
||||
|
||||
LoadString(hInst, IDS_TOOLS_COLUMN_NAME, szTemp, 256);
|
||||
column.pszText = szTemp;
|
||||
column.cx = 150;
|
||||
ListView_InsertColumn(hToolsListCtrl, 0, &column);
|
||||
|
||||
column.mask = LVCF_TEXT | LVCF_WIDTH;
|
||||
LoadString(hInst, IDS_TOOLS_COLUMN_DESCR, szTemp, 256);
|
||||
column.pszText = szTemp;
|
||||
column.cx = 500;
|
||||
ListView_InsertColumn(hToolsListCtrl, 1, &column);
|
||||
|
||||
FillListView();
|
||||
return TRUE;
|
||||
|
||||
case WM_COMMAND:
|
||||
switch (LOWORD(wParam))
|
||||
{
|
||||
case IDC_BTN_RUN:
|
||||
if (ListView_GetSelectionMark(hToolsListCtrl) != -1) {
|
||||
LoadString(hInst, ListItems_Cmds[ListView_GetSelectionMark(hToolsListCtrl)], szTemp, 256);
|
||||
LoadString(hInst, ListItems_Params[ListView_GetSelectionMark(hToolsListCtrl)], szTemp2, 256);
|
||||
ShellExecute(0, _T("open"), szTemp, szTemp2, _T(""), SW_NORMAL);
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case WM_NOTIFY:
|
||||
nmh = (LPNMHDR) lParam;
|
||||
if (nmh->hwndFrom == hToolsListCtrl)
|
||||
{
|
||||
switch (nmh->code)
|
||||
{
|
||||
case NM_CLICK:
|
||||
lpnmitem = (LPNMITEMACTIVATE) lParam;
|
||||
if (lpnmitem->iItem > -1) {
|
||||
LoadString(hInst, ListItems_Cmds[lpnmitem->iItem], szTemp, 256);
|
||||
LoadString(hInst, ListItems_Params[lpnmitem->iItem], szTemp2, 256);
|
||||
_tcscat(szTemp, _T(" "));
|
||||
_tcscat(szTemp, szTemp2);
|
||||
SendDlgItemMessage(hToolsDialog, IDC_TOOLS_CMDLINE, WM_SETTEXT, 0, (LPARAM) szTemp);
|
||||
}
|
||||
break;
|
||||
case NM_DBLCLK:
|
||||
lpnmitem = (LPNMITEMACTIVATE) lParam;
|
||||
if (lpnmitem->iItem > -1) {
|
||||
LoadString(hInst, ListItems_Cmds[lpnmitem->iItem], szTemp, 256);
|
||||
LoadString(hInst, ListItems_Params[lpnmitem->iItem], szTemp2, 256);
|
||||
ShellExecute(0, _T("open"), szTemp, szTemp2, _T(""), SW_NORMAL);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
5
reactos/subsys/system/msconfig/toolspage.h
Normal file
5
reactos/subsys/system/msconfig/toolspage.h
Normal file
|
@ -0,0 +1,5 @@
|
|||
extern HWND hToolsPage;
|
||||
extern HWND hToolsListCtrl;
|
||||
|
||||
INT_PTR CALLBACK ToolsPageWndProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
|
||||
|
Loading…
Reference in a new issue