⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 machineinfo.h

📁 vc++网络程序设计实例详解 人民邮电出版社1-2章源码
💻 H
字号:
#ifndef MACHINEINFO_H
#define MACHINEINFO_H

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include <afxtempl.h>
#include <Tlhelp32.h>

struct SProcessInfo
{
    PROCESSENTRY32 peProcessEntry;
    SIZE_T         stMemUsage;
};

//typedef CTypedPtrList<CPtrList, PROCESSENTRY32*> CProcessInfoList;
typedef CTypedPtrList<CPtrList, SProcessInfo*> CProcessInfoList;



class CMachineInfo : public CObject  
{
    DECLARE_SERIAL(CMachineInfo)
public:
	CMachineInfo();
	virtual ~CMachineInfo();

    void SetIP(CString strIP);
    CString GetIP();

    void SetPassword(CString strPwd);
    CString GetPassword();

    void SetLogon(CString m_strLogon);
    CString GetLogon();

    void SetRemoteAdminPipe(HANDLE handle);
    HANDLE GetRemoteAdminPipe();

    void SetRemoteAdminProcessInfoPipe(HANDLE handle);
    HANDLE GetRemoteAdminProcessInfoPipe();

    void SetRemoteAdminProcessExecutePipe(HANDLE handle);
    HANDLE GetRemoteAdminProcessExecutePipe();

    void SetRemoteAdminProcessKillPipe(HANDLE handle);
    HANDLE GetRemoteAdminProcessKillPipe();

    void SetRemoteAdminSysShutDownPipe(HANDLE handle);
    HANDLE GetRemoteAdminSysShutDownPipe();

    CMachineInfo& operator = (CMachineInfo& miMachineInfo); /* Assignment operator */
    BOOL operator == (CMachineInfo& miMachineInfo);

    void RefreshProcessList(CProcessInfoList& pilList);
    CProcessInfoList* GetProcessInfoList();

    void ClosePipeHandles();
    void SendEndThreadMessage();
    
    virtual void Serialize(CArchive& ar);

protected:
    CString m_strIP;
    CString m_strPwd;
    CString m_strLogon;
    CProcessInfoList m_pilProcessList;
    HANDLE m_hRemoteAdminPipe;
    HANDLE m_hRemoteAdminProcessInfoPipe;
    HANDLE m_hRemoteAdminProcessExecutePipe;
    HANDLE m_hRemoteAdminProcessKillPipe;
    HANDLE m_hRemoteAdminSysShutDownPipe;
};


inline void CMachineInfo::SetIP(CString strIP)
{
    m_strIP = strIP;
}

inline CString CMachineInfo::GetIP()
{
    return m_strIP;
}

inline void CMachineInfo::SetPassword(CString strPwd)
{
    m_strPwd = strPwd;
}

inline CString CMachineInfo::GetPassword()
{
    return m_strPwd;
}

inline void CMachineInfo::SetLogon(CString strLogon)
{
    m_strLogon = strLogon;
}

inline CString CMachineInfo::GetLogon()
{
    return m_strLogon;
}

inline void CMachineInfo::SetRemoteAdminPipe(HANDLE handle)
{
    m_hRemoteAdminPipe = handle;
}

inline HANDLE CMachineInfo::GetRemoteAdminPipe()
{
    return m_hRemoteAdminPipe;
}

inline void CMachineInfo::SetRemoteAdminProcessInfoPipe(HANDLE handle)
{
    m_hRemoteAdminProcessInfoPipe = handle;
}

inline HANDLE CMachineInfo::GetRemoteAdminProcessInfoPipe()
{
    return m_hRemoteAdminProcessInfoPipe;
}

inline void CMachineInfo::SetRemoteAdminProcessExecutePipe(HANDLE handle)
{
    m_hRemoteAdminProcessExecutePipe = handle;
}

inline HANDLE CMachineInfo::GetRemoteAdminProcessExecutePipe()
{
    return m_hRemoteAdminProcessExecutePipe;
}

inline void CMachineInfo::SetRemoteAdminProcessKillPipe(HANDLE handle)
{
    m_hRemoteAdminProcessKillPipe = handle;
}

inline HANDLE CMachineInfo::GetRemoteAdminProcessKillPipe()
{
    return m_hRemoteAdminProcessKillPipe;
}

inline void CMachineInfo::SetRemoteAdminSysShutDownPipe(HANDLE handle)
{
    m_hRemoteAdminSysShutDownPipe = handle;
}

inline HANDLE CMachineInfo::GetRemoteAdminSysShutDownPipe()
{
    return m_hRemoteAdminSysShutDownPipe;
}
#endif // MACHINEINFO_H

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -