-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathProcessesDialog.hpp
81 lines (63 loc) · 1.53 KB
/
ProcessesDialog.hpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
////////////////////////////////////////////////////////////////////////////////
//! \file ProcessesDialog.hpp
//! \brief The ProcessesDialog class declaration.
//! \author Chris Oldwood
// Check for previous inclusion
#ifndef PROCESSESDIALOG_HPP
#define PROCESSESDIALOG_HPP
#if _MSC_VER > 1000
#pragma once
#endif
#include <WCL/CommonUI.hpp>
#include <WMI/Win32_Process.hpp>
////////////////////////////////////////////////////////////////////////////////
//! The dialog used to manage the processes on a host.
class ProcessesDialog : public CDialog
{
public:
//! Constructor.
ProcessesDialog(const tstring& host);
private:
//! A collection of processes.
typedef std::vector<WMI::Win32_Process> Processes;
//! The view columns
enum Column
{
NAME,
ID,
THREAD_COUNT,
HANDLE_COUNT,
WORKING_SET,
PRIVATE_PAGES,
VIRTUAL_SIZE,
COMMAND_LINE,
};
//
// Members.
//
tstring m_host; //!< The host to manage.
Processes m_processes; //!< The WMI proxies to the processes.
//
// Controls.
//
CListView m_view; //!< The processes view.
//
// Message handlers.
//
//! Dialog initialisation handler.
virtual void OnInitDialog();
//! View selection change handler.
LRESULT onProcessSelected(NMHDR& header);
//! Handle a right-click on the view.
LRESULT onRightClick(NMHDR& header);
//! Refresh button handler.
void onRefreshView();
//! Terminate the selected process.
void onTerminateProcess();
//
// Internal methods.
//
//! Update the state of the UI.
void updateUi();
};
#endif // PROCESSESDIALOG_HPP