MainFrm.h
上传用户:jinandeyu
上传日期:2007-01-05
资源大小:620k
文件大小:5k
源码类别:

远程控制编程

开发平台:

WINDOWS

  1. /*  Back Orifice 2000 - Remote Administration Suite
  2.     Copyright (C) 1999, Cult Of The Dead Cow
  3.     This program is free software; you can redistribute it and/or modify
  4.     it under the terms of the GNU General Public License as published by
  5.     the Free Software Foundation; either version 2 of the License, or
  6.     (at your option) any later version.
  7.     This program is distributed in the hope that it will be useful,
  8.     but WITHOUT ANY WARRANTY; without even the implied warranty of
  9.     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  10.     GNU General Public License for more details.
  11.     You should have received a copy of the GNU General Public License
  12.     along with this program; if not, write to the Free Software
  13.     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  14. The author of this program may be contacted at dildog@l0pht.com. */
  15. // MainFrm.h : interface of the CMainFrame class
  16. //
  17. /////////////////////////////////////////////////////////////////////////////
  18. #if !defined(AFX_MAINFRM_H__720D769D_A7E5_11D2_ADC4_0000F8084273__INCLUDED_)
  19. #define AFX_MAINFRM_H__720D769D_A7E5_11D2_ADC4_0000F8084273__INCLUDED_
  20. #if _MSC_VER > 1000
  21. #pragma once
  22. #endif // _MSC_VER > 1000
  23. #include"ServerList.h"
  24. #include"plugins.h"
  25. #include"BODialogBar.h"
  26. #include"GoodMenuBar.h"
  27. #include"trayicon.h"
  28. typedef struct {
  29. TYPEOF_ClientMenu *pProc;
  30. int nId;
  31. } PLUGINMENUITEM;
  32. #include <plugins.h>
  33. typedef struct {
  34. BYTE *pPluginImage;
  35. DWORD dwPluginLen;
  36. char svFilename[MAX_PATH+1];
  37. char svDescription[256];
  38. WORD wVersionLo;
  39. WORD wVersionHi;
  40. WORD wBOVersionLo;
  41. WORD wBOVersionHi;
  42. } PLUGIN_INFO;
  43. typedef struct {
  44. int nPlugin;
  45. DWORD dwPos;
  46. char VarType; // B, N, S
  47. int nNumLo;
  48. int nNumHi;
  49. int nStrLen;
  50. char svVarValue[256];
  51. char svVarName[256];
  52. char svCategory[256];
  53. } VARIABLE_INFO;
  54. class CMainFrame : public CCJFrameWnd
  55. {
  56. protected: // create from serialization only
  57. CMainFrame();
  58. DECLARE_DYNCREATE(CMainFrame)
  59. // CTrayIcon *m_pTrayIcon;
  60. // BOOL m_bSysTray;
  61. BOOL m_bGradients;
  62. BOOL m_bScreenReader;
  63. CArray<PLUGINMENUITEM, PLUGINMENUITEM> m_arrPluginMenuItems;
  64. // Attributes
  65. public:
  66. CServerList *m_pWndServerList;
  67. CArray<PLUGIN_INFO, PLUGIN_INFO> m_arrPluginInfo;
  68. CArray<VARIABLE_INFO, VARIABLE_INFO> m_arrVarInfo;
  69. // Operations
  70. public:
  71. int RegisterClientMenu(LPCSTR szCategory, LPCSTR szComName, TYPEOF_ClientMenu *pProc);
  72. int UnregisterClientMenu(LPCSTR szCategory, LPCSTR szComName);
  73. int InitializePlugins();
  74. int TerminatePlugins();
  75. int AddPlugin(CString strPath);
  76. int RemovePlugin(int nPlugin);
  77. void AddVariables(char *pBuffer, DWORD dwLen, int nPlugin);
  78. int SavePluginConfig(int nNum);
  79. int LoadPluginConfig(int nNum);
  80. int InitializeToolbars();
  81. int InitializeDockingWindows();
  82. int DoDialogModal(CDialog *dlg);
  83. // Overrides
  84. // ClassWizard generated virtual function overrides
  85. //{{AFX_VIRTUAL(CMainFrame)
  86. public:
  87. virtual BOOL DestroyWindow();
  88. protected:
  89. virtual LRESULT WindowProc(UINT message, WPARAM wParam, LPARAM lParam);
  90. virtual BOOL PreTranslateMessage(MSG *pMsg);
  91. //}}AFX_VIRTUAL
  92. // Implementation
  93. public:
  94. virtual ~CMainFrame();
  95. #ifdef _DEBUG
  96. virtual void AssertValid() const;
  97. virtual void Dump(CDumpContext& dc) const;
  98. #endif
  99. protected:  
  100. // control bar embedded members
  101. CCoolMenuManager m_menuManager;
  102. CGoodMenuBar m_menuBar;
  103. CCJToolBar m_wndTBMain;
  104. CStatusBar  m_wndStatusBar;
  105. CBODialogBar m_wndServerListBDB;
  106. // Generated message map functions
  107. protected:
  108. //{{AFX_MSG(CMainFrame)
  109. afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
  110. afx_msg void OnServerlist();
  111. afx_msg void OnUpdateServerlist(CCmdUI* pCmdUI);
  112. afx_msg BOOL OnEraseBkgnd(CDC* pDC);
  113. afx_msg void OnPlugins();
  114. afx_msg void OnGradients();
  115. afx_msg void OnUpdateGradients(CCmdUI* pCmdUI);
  116. afx_msg void OnMenuType();
  117. afx_msg void OnUpdateMenuType(CCmdUI* pCmdUI);
  118. afx_msg void OnServerNew();
  119. afx_msg void OnUpdateServerNew(CCmdUI* pCmdUI);
  120. afx_msg void OnServerEdit();
  121. afx_msg void OnUpdateServerEdit(CCmdUI* pCmdUI);
  122. afx_msg void OnServerDelete();
  123. afx_msg void OnUpdateServerDelete(CCmdUI* pCmdUI);
  124. afx_msg void OnActivate(UINT nState, CWnd* pWndOther, BOOL bMinimized);
  125. afx_msg void OnSysTray();
  126. afx_msg void OnUpdateSysTray(CCmdUI* pCmdUI);
  127. // afx_msg LRESULT OnTrayNotification(WPARAM uID, LPARAM lEvent);
  128. afx_msg void OnPluginMenu(UINT nID);
  129. //}}AFX_MSG
  130. DECLARE_MESSAGE_MAP()
  131. };
  132. extern CIOHandler *g_pIOHandler;
  133. extern CEncryptionHandler *g_pEncryptionHandler;
  134. extern CAuthHandler *g_pAuthHandler;
  135. extern int RegisterClientMenu(LPCSTR szCategory, LPCSTR szComName, TYPEOF_ClientMenu *pProc);
  136. extern int UnregisterClientMenu(LPCSTR szCategory, LPCSTR szComName);
  137. extern int InteractiveConnect(HWND hParent,LPCSTR svBindStr,LPCSTR svNetMod,LPCSTR svEncryption,LPCSTR svAuth,char *svRBindStr,char *svRNetMod,char *svREncryption,char *svRAuth);
  138. extern int InteractiveListen(HWND hParent,LPCSTR svBindStr,LPCSTR svNetMod,LPCSTR svEncryption,LPCSTR svAuth,char *svRBindStr,char *svRNetMod,char *svREncryption,char *svRAuth);
  139. /////////////////////////////////////////////////////////////////////////////
  140. //{{AFX_INSERT_LOCATION}}
  141. // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
  142. #endif // !defined(AFX_MAINFRM_H__720D769D_A7E5_11D2_ADC4_0000F8084273__INCLUDED_)