-#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
+#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;
+}
+