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