7 void AddItem ( DWORD
, DWORD
, DWORD
, DWORD
);
8 void FillListView ( void );
10 DWORD ListItems_Cmds
[20];
11 DWORD ListItems_Params
[20];
13 void AddItem ( DWORD name_id
, DWORD descr_id
, DWORD cmd_id
, DWORD param_id
) {
17 LoadString(hInst
, name_id
, szTemp
, 256);
18 memset(&item
, 0, sizeof(LV_ITEM
));
19 item
.mask
= LVIF_TEXT
;
21 item
.pszText
= szTemp
;
22 item
.iItem
= ListView_GetItemCount(hToolsListCtrl
);
24 ListView_InsertItem(hToolsListCtrl
, &item
);
26 ListItems_Cmds
[item
.iItem
] = cmd_id
;
27 ListItems_Params
[item
.iItem
] = param_id
;
29 LoadString(hInst
, descr_id
, szTemp
, 256);
30 item
.pszText
= szTemp
;
32 SendMessage(hToolsListCtrl
, LVM_SETITEMTEXT
, item
.iItem
, (LPARAM
) &item
);
35 void FillListView ( void ) {
36 AddItem(IDS_TOOLS_CMD_NAME
, IDS_TOOLS_CMD_DESCR
, IDS_TOOLS_CMD_CMD
, IDS_TOOLS_CMD_PARAM
);
37 AddItem(IDS_TOOLS_REGEDIT_NAME
, IDS_TOOLS_REGEDIT_DESCR
, IDS_TOOLS_REGEDIT_CMD
,IDS_TOOLS_REGEDIT_PARAM
);
38 AddItem(IDS_TOOLS_SYSDM_NAME
, IDS_TOOLS_SYSDM_DESCR
, IDS_TOOLS_SYSDM_CMD
, IDS_TOOLS_SYSDM_PARAM
);
39 AddItem(IDS_TOOLS_INFO_NAME
, IDS_TOOLS_INFO_DESCR
, IDS_TOOLS_INFO_CMD
, IDS_TOOLS_INFO_PARAM
);
43 ToolsPageWndProc(HWND hDlg
, UINT message
, WPARAM wParam
, LPARAM lParam
)
48 LPNMITEMACTIVATE lpnmitem
;
55 hToolsListCtrl
= GetDlgItem(hDlg
, IDC_TOOLS_LIST
);
58 dwStyle
= SendMessage(hToolsListCtrl
, LVM_GETEXTENDEDLISTVIEWSTYLE
, 0, 0);
59 dwStyle
= dwStyle
| LVS_EX_FULLROWSELECT
;
60 SendMessage(hToolsListCtrl
, LVM_SETEXTENDEDLISTVIEWSTYLE
, 0, dwStyle
);
62 SetWindowPos(hDlg
, NULL
, 10, 32, 0, 0, SWP_NOACTIVATE
| SWP_NOOWNERZORDER
| SWP_NOSIZE
| SWP_NOZORDER
);
64 // Initialize the application page's controls
65 column
.mask
= LVCF_TEXT
| LVCF_WIDTH
;
67 LoadString(hInst
, IDS_TOOLS_COLUMN_NAME
, szTemp
, 256);
68 column
.pszText
= szTemp
;
70 ListView_InsertColumn(hToolsListCtrl
, 0, &column
);
72 column
.mask
= LVCF_TEXT
| LVCF_WIDTH
;
73 LoadString(hInst
, IDS_TOOLS_COLUMN_DESCR
, szTemp
, 256);
74 column
.pszText
= szTemp
;
76 ListView_InsertColumn(hToolsListCtrl
, 1, &column
);
82 switch (LOWORD(wParam
))
85 if (ListView_GetSelectionMark(hToolsListCtrl
) != -1) {
86 LoadString(hInst
, ListItems_Cmds
[ListView_GetSelectionMark(hToolsListCtrl
)], szTemp
, 256);
87 LoadString(hInst
, ListItems_Params
[ListView_GetSelectionMark(hToolsListCtrl
)], szTemp2
, 256);
88 ShellExecute(0, _T("open"), szTemp
, szTemp2
, _T(""), SW_NORMAL
);
94 nmh
= (LPNMHDR
) lParam
;
95 if (nmh
->hwndFrom
== hToolsListCtrl
)
100 lpnmitem
= (LPNMITEMACTIVATE
) lParam
;
101 if (lpnmitem
->iItem
> -1) {
102 LoadString(hInst
, ListItems_Cmds
[lpnmitem
->iItem
], szTemp
, 256);
103 LoadString(hInst
, ListItems_Params
[lpnmitem
->iItem
], szTemp2
, 256);
104 _tcscat(szTemp
, _T(" "));
105 _tcscat(szTemp
, szTemp2
);
106 SendDlgItemMessage(hToolsDialog
, IDC_TOOLS_CMDLINE
, WM_SETTEXT
, 0, (LPARAM
) szTemp
);
110 lpnmitem
= (LPNMITEMACTIVATE
) lParam
;
111 if (lpnmitem
->iItem
> -1) {
112 LoadString(hInst
, ListItems_Cmds
[lpnmitem
->iItem
], szTemp
, 256);
113 LoadString(hInst
, ListItems_Params
[lpnmitem
->iItem
], szTemp2
, 256);
114 ShellExecute(0, _T("open"), szTemp
, szTemp2
, _T(""), SW_NORMAL
);