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

📄 remoteadmindoc.h

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

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

#include "RemoteAdministrator.h"
#include "command.h"

class CMachineInfo;
class CMachineView;
class CRemoteAdminView;
class CProgressWndThread;

class CRemoteAdminDoc : public CDocument
{
	DECLARE_DYNCREATE(CRemoteAdminDoc)

public:
    void AddMachine(CMachineInfo& miMachineInfo);
	void DeleteMachine(CMachineInfo& miMachineInfo);
    BOOL CheckIfMachinePresent(CString strIP);
    
    BOOL EstablishAllConnections(CString strRemoteMachineIP, CString strPwd, BOOL bEstablish, CMachineView* pMachineView, CRemoteAdminView* pRemoteAdminView);
    BOOL CopyServiceExeToRemoteMachine(CString strRemoteMachineIP);

    HANDLE GetRemoteAdminPipe(CString strRemoteMachineIP);
    HANDLE GetRemoteAdminProcessInfoPipe(CString strRemoteMachineIP);
    HANDLE GetRemoteAdminProcessExecutePipe(CString strRemoteMachineIP);
    HANDLE GetRemoteAdminProcessKillPipe(CString strRemoteMachineIP);
    HANDLE GetRemoteAdminSysShutDownPipe(CString strRemoteMachineIP);
    int GetTotalMachinesMonitored();
	UINT GetNumberOfMachineConnectionsStillInProgress();

    HANDLE m_hUpdateProcessList;

    void RefreshProcessList(CString strRemoteMachineIP, CProcessInfoList& pilList);
    CProcessInfoList* GetProcessInfoList(CString strRemoteMachineIP);
    void DeleteAndDisconnectAllMachines();
    void DeleteAndDisconnectMachine(CString strRemoteAdminMachine);
    BOOL ConnectToRemoteService(CString strRemoteMachineIP, CString strPwd, CMachineView* pMachineView, CRemoteAdminView* pRemoteAdminView);
    void GetConnectedMachinesIP(CString** pstrConnctedMachinesIP /*out*/, int* piNumberOfConnectedMachines/*out*/);
    BOOL AddToConnectionPendingList(CString strIP);
    BOOL RemoveFromConnecionPendingList(CString strIP);
    BOOL IsConnectionPending(CString strIP);
	BOOL AreConnectionsStillPending();     // TRUE if connection process to any machine is in queue, else FALSE
	CString GetPasswordForMachine(CString strIP);
	void CreateVisualThread();
	void SetVisualProgressThread(CProgressWndThread* pThread = NULL);
	CString GetComputerNameFromIP(CString& strIP);
	CString GetComputerIPFromName(CString& strComputerName);
		
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CRemoteAdminDoc)
	public:
	virtual BOOL OnNewDocument();
	virtual void Serialize(CArchive& ar);
	virtual void OnCloseDocument();
	virtual BOOL OnSaveDocument(LPCTSTR lpszPathName);
	virtual BOOL OnOpenDocument(LPCTSTR lpszPathName);
	virtual void DeleteContents();
	virtual BOOL CanCloseFrame(CFrameWnd* pFrame);
	//}}AFX_VIRTUAL

    virtual ~CRemoteAdminDoc();
    
#ifdef _DEBUG
	virtual void AssertValid() const;
	virtual void Dump(CDumpContext& dc) const;
#endif



// Generated message map functions
protected:
    CRemoteAdminDoc(); // create from serialization only

    CRemoteAdministrator m_RemoteAdministrator;
    CMachineInfoList* m_milInfoReadFromArchiveList;
	CProgressWndThread* m_pVisualProgressThread;
 
	//{{AFX_MSG(CRemoteAdminDoc)
		// NOTE - the ClassWizard will add and remove member functions here.
		//    DO NOT EDIT what you see in these blocks of generated code !
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};


inline HANDLE CRemoteAdminDoc::GetRemoteAdminPipe(CString strRemoteMachineIP)
{
    return m_RemoteAdministrator.GetRemoteAdminPipe(strRemoteMachineIP);
}

inline HANDLE CRemoteAdminDoc::GetRemoteAdminProcessInfoPipe(CString strRemoteMachineIP)
{
    return m_RemoteAdministrator.GetRemoteAdminProcessInfoPipe(strRemoteMachineIP);
}

inline HANDLE CRemoteAdminDoc::GetRemoteAdminProcessExecutePipe(CString strRemoteMachineIP)
{
    return m_RemoteAdministrator.GetRemoteAdminProcessExecutePipe(strRemoteMachineIP);
}

inline HANDLE CRemoteAdminDoc::GetRemoteAdminProcessKillPipe(CString strRemoteMachineIP)
{
    return m_RemoteAdministrator.GetRemoteAdminProcessKillPipe(strRemoteMachineIP);
}

inline HANDLE CRemoteAdminDoc::GetRemoteAdminSysShutDownPipe(CString strRemoteMachineIP)
{
    return m_RemoteAdministrator.GetRemoteAdminSysShutDownPipe(strRemoteMachineIP);
}

inline void CRemoteAdminDoc::SetVisualProgressThread(CProgressWndThread* pThread)
{
	m_pVisualProgressThread = pThread;
}
#endif // REMOTEADMINDOC_H

⌨️ 快捷键说明

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