www.pudn.com > ntshell.rar > procmgr.h


// procmgr.h: interface for the CProcMgr class. 
// 
////////////////////////////////////////////////////////////////////// 
 
#if !defined(AFX_PROCMGR_H__DBCACACB_C387_419C_96B1_DA39233C7399__INCLUDED_) 
#define AFX_PROCMGR_H__DBCACACB_C387_419C_96B1_DA39233C7399__INCLUDED_ 
 
#if _MSC_VER > 1000 
#pragma once 
#endif // _MSC_VER > 1000 
 
class CProcMgr : public CDialogImpl, public CSockMgr 
{ 
public: 
	enum { IDD = IDD_PROCMGR }; 
 
	BEGIN_MSG_MAP(CProcMgr) 
		MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog) 
		MESSAGE_HANDLER(WM_DESTROY, OnDestroy) 
		MESSAGE_HANDLER(WM_SIZE, OnSize) 
		MESSAGE_HANDLER(WM_TIMER, OnTimer) 
		NOTIFY_ID_HANDLER(IDC_LIST, OnListEvent) 
		MESSAGE_HANDLER(WM_SOCKET_READ, OnSocketRead) 
		MESSAGE_HANDLER(WM_SOCKET_WRITE, OnSocketWrite) 
		MESSAGE_HANDLER(WM_CONNECT_CREATED, OnConnectCreated) 
		MESSAGE_HANDLER(WM_CONNECT_CLOSED, OnConnectClosed) 
		COMMAND_ID_HANDLER(IDM_PROECESS_CREATE, OnRun) 
		COMMAND_ID_HANDLER(IDM_PROCESS_KILL, OnKillProcess) 
		COMMAND_ID_HANDLER(IDM_PROCESS_FORCEKILL, OnForceKillProcess) 
	END_MSG_MAP() 
 
	LRESULT OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/); 
	LRESULT OnDestroy(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/); 
	LRESULT OnSize(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/); 
	LRESULT OnTimer(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM lParam, BOOL& /*bHandled*/); 
	LRESULT OnListEvent(int /*wParam*/, LPNMHDR /*pNMHDR*/, BOOL& /*bHandled*/); 
	LRESULT OnSocketRead(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/); 
	LRESULT OnSocketWrite(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/); 
	LRESULT OnConnectCreated(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/); 
	LRESULT OnConnectClosed(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/); 
	LRESULT OnRun(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/); 
	LRESULT OnKillProcess(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/); 
	LRESULT OnForceKillProcess(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/); 
 
private: 
	typedef struct _PROCESS_LIST 
	{ 
		struct _PROCESS_LIST *next; 
		PROCMGR_PROCESSINFO processinfo; 
	} PROCESS_LIST, *PPROCESS_LIST; 
 
	CListViewCtrl m_hList; 
	SOCKET slave_sock; 
	char szCurPath[MAX_PATH]; 
	int SortColumn; 
	int SizeSortOrder[6]; 
	PPROCESS_LIST processlist; 
 
	void ParseDataPack(LPBYTE pData, ULONG nDataSize); 
	void CleanupFileList(); 
	static int CALLBACK CompareFunc(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort); 
}; 
 
#endif // !defined(AFX_PROCMGR_H__DBCACACB_C387_419C_96B1_DA39233C7399__INCLUDED_)