| 5 | #include "ProcessManager.h" |
| 6 | |
| 7 | class CProcessThreadTable : |
| 8 | public CTable<std::shared_ptr<WinSys::ThreadInfo>>, |
| 9 | public CWindowImpl<CProcessThreadTable> { |
| 10 | public: |
| 11 | DECLARE_WND_CLASS_EX(NULL, CS_DBLCLKS | CS_VREDRAW | CS_HREDRAW, COLOR_WINDOW); |
| 12 | |
| 13 | BEGIN_MSG_MAP(CProcessThreadTable) |
| 14 | MESSAGE_HANDLER(WM_DESTROY, OnDestroy) |
| 15 | MESSAGE_HANDLER(WM_CREATE, OnCreate) |
| 16 | MESSAGE_HANDLER(WM_PAINT, OnPaint) |
| 17 | MESSAGE_HANDLER(WM_HSCROLL, OnHScroll) |
| 18 | MESSAGE_HANDLER(WM_VSCROLL, OnVScroll) |
| 19 | MESSAGE_HANDLER(WM_USER_VABS, OnUserVabs) |
| 20 | MESSAGE_HANDLER(WM_USER_VREL, OnUserVrel) |
| 21 | MESSAGE_HANDLER(WM_USER_CHGS, OnUserChgs) |
| 22 | MESSAGE_HANDLER(WM_MOUSEWHEEL, OnMouseWheel) |
| 23 | MESSAGE_HANDLER(WM_MOUSEMOVE, OnMouseMove) |
| 24 | MESSAGE_HANDLER(WM_LBUTTONDOWN, OnLBtnDown) |
| 25 | MESSAGE_HANDLER(WM_RBUTTONDOWN, OnRBtnDown) |
| 26 | MESSAGE_HANDLER(WM_LBUTTONUP, OnLBtnUp) |
| 27 | MESSAGE_HANDLER(WM_USER_STS, OnUserSts) |
| 28 | MESSAGE_HANDLER(WM_WINDOWPOSCHANGED, OnWindowPosChanged) |
| 29 | MESSAGE_HANDLER(WM_KEYDOWN, OnKeyDown) |
| 30 | MESSAGE_HANDLER(WM_SYSKEYDOWN, OnSysKeyDown) |
| 31 | MESSAGE_HANDLER(WM_GETDLGCODE, OnGetDlgCode) |
| 32 | COMMAND_ID_HANDLER(ID_THREAD_COPY,OnThreadCopy) |
| 33 | COMMAND_ID_HANDLER(ID_THREAD_EXPORT, OnThreadExport) |
| 34 | END_MSG_MAP() |
| 35 | |
| 36 | CProcessThreadTable(BarInfo& bars, TableInfo& table, DWORD pid = 0); |
| 37 | |
| 38 | int ParseTableEntry(CString& s, char& mask, int& select, std::shared_ptr<WinSys::ThreadInfo>& info, int column); |
| 39 | |
| 40 | LRESULT OnCreate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& /*bHandled*/); |
| 41 | LRESULT OnDestroy(UINT uMsg, WPARAM wParam, LPARAM lparam, BOOL& /*bHandled*/); |
| 42 | LRESULT OnPaint(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& /*bHandled*/); |
| 43 | LRESULT OnHScroll(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& /*bHandled*/); |
| 44 | LRESULT OnVScroll(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& /*bHandled*/); |
| 45 | LRESULT OnUserVabs(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& /*bHandled*/); |
| 46 | LRESULT OnUserVrel(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& /*bHandled*/); |
| 47 | LRESULT OnUserChgs(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& /*bHandled*/); |
| 48 | LRESULT OnMouseWheel(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& /*bHandled*/); |
| 49 | LRESULT OnMouseMove(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& /*bHandled*/); |
| 50 | LRESULT OnLBtnDown(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& /*bHandled*/); |
| 51 | LRESULT OnLBtnUp(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& /*bHandled*/); |
| 52 | LRESULT OnRBtnDown(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& /*bHandled*/); |
| 53 | LRESULT OnUserSts(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& /*bHandled*/); |
| 54 | LRESULT OnWindowPosChanged(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& /*bHandled*/); |
| 55 | LRESULT OnKeyDown(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& /*bHandled*/); |
| 56 | LRESULT OnSysKeyDown(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& /*bHandled*/); |
| 57 | LRESULT OnGetDlgCode(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/); |
| 58 | |
| 59 | LRESULT OnThreadCopy(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/); |
| 60 | LRESULT OnThreadExport(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/); |
| 61 | |
| 62 | |
| 63 | enum class ThreadColumn { |
| 64 | State, Id, ProcessId, ProcessName, CPUTime, CreateTime, Priority, BasePriority, Teb, |
nothing calls this directly
no outgoing calls
no test coverage detected