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

📄 mainfrm.cpp

📁 扫描系统安全漏洞
💻 CPP
字号:
// MainFrm.cpp : implementation of the CMainFrame class
//

#include "stdafx.h"
#include "网络评估.h"

#include "MainFrm.h"
#include "Splash.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CMainFrame

IMPLEMENT_DYNCREATE(CMainFrame, CFrameWnd)

BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)
	//{{AFX_MSG_MAP(CMainFrame)
	ON_WM_CREATE()
	ON_COMMAND(ID_better, Onbetter)
	ON_COMMAND(ID_winhlp, Onwinhlp)
	ON_WM_KEYDOWN()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

static UINT indicators[] =
{
	ID_SEPARATOR,           // status line indicator
	ID_SEPARATOR, 
	ID_SEPARATOR, 
	ID_SEPARATOR, 
	ID_SEPARATOR, 
//	ID_INDICATOR_CAPS,
//	ID_INDICATOR_NUM,
//	ID_INDICATOR_SCRL,
};

/////////////////////////////////////////////////////////////////////////////
// CMainFrame construction/destruction
CMainFrame::CMainFrame()
{
	// TODO: add member initialization code here
	
}

CMainFrame::~CMainFrame()
{
}
BOOL CMainFrame::CreateExToolBar()
{
	CImageList img;
	CString str;
	
	if(!m_wndReBar.Create(this))
	{
		return -1;
	}
	
	if (!m_wndToolBar.CreateEx(&m_wndReBar, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP
		| CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC))
	{
		return -1;      
	}
	
	//下面的代码是设置按钮的宽度和长度
	m_wndToolBar.GetToolBarCtrl().SetButtonWidth(40, 100);
	//下面的代码是设置"热"的位图
	img.Create(28, 28, ILC_COLOR8|ILC_MASK,2,2);
	img.SetBkColor(::GetSysColor(COLOR_BTNFACE));
	img.Add(AfxGetApp()->LoadIcon(IDI_1));//0收信
    img.Add(AfxGetApp()->LoadIcon(IDI_2));//1写信
	
	img.Add(AfxGetApp()->LoadIcon(IDI_3));//2电话本
    img.Add(AfxGetApp()->LoadIcon(IDI_4));//3收信 
	img.Add(AfxGetApp()->LoadIcon(IDI_8));//3收信 
	img.Add(AfxGetApp()->LoadIcon(IDI_9));//3收信
	img.Add(AfxGetApp()->LoadIcon(IDI_10));//3收信
	img.Add(AfxGetApp()->LoadIcon(IDI_help));//3收信 
	img.Add(AfxGetApp()->LoadIcon(IDI_11));//3收信
	m_wndToolBar.GetToolBarCtrl().SetHotImageList(&img);
	img.Detach();	
	
	//下面的代码是设置"冷"的位图
	img.Create(26, 26, ILC_COLOR8|ILC_MASK, 2,2);
	img.SetBkColor(::GetSysColor(COLOR_BTNFACE));
		img.Add(AfxGetApp()->LoadIcon(IDI_1));//0收信
    img.Add(AfxGetApp()->LoadIcon(IDI_2));//1写信
	
	img.Add(AfxGetApp()->LoadIcon(IDI_3));//2电话本
    img.Add(AfxGetApp()->LoadIcon(IDI_4));//3收信
	img.Add(AfxGetApp()->LoadIcon(IDI_8));//3收信
	img.Add(AfxGetApp()->LoadIcon(IDI_9));//3收信 
	img.Add(AfxGetApp()->LoadIcon(IDI_10));//3收信 
	img.Add(AfxGetApp()->LoadIcon(IDI_help));//3收信 
	img.Add(AfxGetApp()->LoadIcon(IDI_11));//3收信
	m_wndToolBar.GetToolBarCtrl().SetImageList(&img);
	img.Detach();
	
	//改变属性
	m_wndToolBar.ModifyStyle(0, TBSTYLE_FLAT |CBRS_TOOLTIPS | TBSTYLE_TRANSPARENT|TBBS_CHECKBOX );
	m_wndToolBar.SetButtons(NULL,13);	
	// set up each toolbar button设置文字  
	
	m_wndToolBar.SetButtonInfo(0, ID_start, TBSTYLE_BUTTON, 0);
	m_wndToolBar.SetButtonText(0, "开始扫描");	
	m_wndToolBar.SetButtonInfo(1, ID_end, TBSTYLE_BUTTON, 1);
	m_wndToolBar.SetButtonText(1, "停止扫描");
	m_wndToolBar.SetButtonInfo(2, ID_close, TBSTYLE_BUTTON, 2);
	m_wndToolBar.SetButtonText(2, "退出系统");
	m_wndToolBar.SetButtonInfo(3, 160, TBBS_SEPARATOR, 0);
	m_wndToolBar.SetButtonInfo(4, ID_made, TBSTYLE_BUTTON, 6);
	m_wndToolBar.SetButtonText(4, "扫描设置");
	
	m_wndToolBar.SetButtonInfo(5, 160, TBBS_SEPARATOR, 0);
	
	m_wndToolBar.SetButtonInfo(6, ID_report, TBSTYLE_BUTTON,3);
	m_wndToolBar.SetButtonText(6, "普通报告");
	m_wndToolBar.SetButtonInfo(7, ID_ADVANCEREPORT, TBSTYLE_BUTTON,8);
	m_wndToolBar.SetButtonText(7, "WORD报告");
	m_wndToolBar.SetButtonInfo(8, 160, TBBS_SEPARATOR, 0);
	m_wndToolBar.SetButtonInfo(9, ID_APP_ABOUT, TBSTYLE_BUTTON, 4);
	m_wndToolBar.SetButtonText(9, "关于");
	m_wndToolBar.SetButtonInfo(10, ID_winhlp, TBSTYLE_BUTTON, 7);
	m_wndToolBar.SetButtonText(10, "软件帮助");
	m_wndToolBar.SetButtonInfo(11, 160, TBBS_SEPARATOR, 0);
	m_wndToolBar.SetButtonInfo(12, ID_better, TBSTYLE_BUTTON, 5);
	m_wndToolBar.SetButtonText(12, "升级");
	CRect rectToolBar;
	//得到按钮的大小
	m_wndToolBar.GetItemRect(0, &rectToolBar);
	//设置按钮的大小
	m_wndToolBar.SetSizes(rectToolBar.Size(), CSize(26,26));
	//在Rebar中加入ToolBar
	//m_wndReBar2.AddBar(&m_ip);
	m_wndReBar.AddBar(&m_wndToolBar);
	//改变一些属性
	REBARBANDINFO rbbi;
	rbbi.cbSize = sizeof(rbbi);		//这个是必须填|RBBIM_BACKGROUND
	rbbi.fMask = RBBIM_CHILDSIZE | RBBIM_IDEALSIZE | RBBIM_SIZE;
	//工具条的宽度
	rbbi.cxMinChild = rectToolBar.Width();
	//高度
	rbbi.cyMinChild = rectToolBar.Height()+2;
	//下面这行代码是为工具条加入背景位图,请注意上rbbi.fMask中RBBIM_BACKGROUND标志
	//rbbi.hbmBack = LoadBitmap(::AfxGetInstanceHandle(), MAKEINTRESOURCE(IDB_TOOLBARBKMAP));
	rbbi.cx = rbbi.cxIdeal = rectToolBar.Width() * 10;	
	m_wndReBar.GetReBarCtrl().SetBandInfo(0, &rbbi);
	return TRUE;
}
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{

	if (CFrameWnd::OnCreate(lpCreateStruct) == -1)
		return -1;
				//创建扩展工具栏
	if (!this->CreateExToolBar())
		return -1;
	//////////////
	m_dlgbar.Create(this,IDD_ip,WS_CHILD | WS_VISIBLE|CBRS_TOP|CBRS_TOOLTIPS|CBRS_FLYBY ,123);
	//
/*	if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP
		| CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
		!m_wndToolBar.LoadToolBar(IDR_MAINFRAME))
	{
		TRACE0("Failed to create toolbar\n");
		return -1;      // fail to create
	}
*/
	if (!m_wndStatusBar.Create(this) ||
		!m_wndStatusBar.SetIndicators(indicators,
		  sizeof(indicators)/sizeof(UINT)))
	{
		TRACE0("Failed to create status bar\n");
		return -1;      // fail to create
	}
	CComboBox*ip=(CComboBox*)m_dlgbar.GetDlgItem(IDC_COMBO1);
    ip->SetWindowText("127.0.0.1");
	m_wndStatusBar.SetPaneInfo(0,0,NULL,120);
	m_wndStatusBar.SetPaneInfo(1,0,NULL,120);
    m_wndStatusBar.SetPaneText(2," 当前扫描系统漏洞数:    0/0    ");
	m_wndStatusBar.SetPaneInfo(2,0,NULL,160);
    m_wndStatusBar.SetPaneText(3," 扫描计时:   00:00:00   ");
	m_wndStatusBar.SetPaneInfo(3,0,NULL,180);
    m_wndStatusBar.SetPaneText(4," 当前系统评估:        ");
	m_wndStatusBar.SetPaneInfo(4,0,NULL,180);
//  m_wndStatusBar.GetStatusBarCtrl().SetBkColor(RGB(255,250,250));
	rect.top+=5;
	rect.left+=130;
	rect.bottom=rect.top+10;
	rect.right=rect.left+120;
 if (!cAnimCtrl.Create(WS_CHILD|WS_VISIBLE|ACS_CENTER|ACS_TRANSPARENT , 
      rect, &m_wndStatusBar, 1))
         return false;
   // Open the AVI file.
   if (!cAnimCtrl.Open(_T("progress.avi")))
      return false;
  
//	CToolBarCtrl *cl=&(m_wndToolBar.GetToolBarCtrl());
//	cl->SetState(ID_start,TBSTATE_INDETERMINATE);
	// CG: The following line was added by the Splash Screen component.	CSplashWnd::ShowSplashScreen(this);
	return 0;
}
BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
	if( !CFrameWnd::PreCreateWindow(cs) )
		return FALSE;
	// TODO: Modify the Window class or styles here by modifying
	//  the CREATESTRUCT cs

	return TRUE;
}

/////////////////////////////////////////////////////////////////////////////
// CMainFrame diagnostics

#ifdef _DEBUG
void CMainFrame::AssertValid() const
{
	CFrameWnd::AssertValid();
}

void CMainFrame::Dump(CDumpContext& dc) const
{
	CFrameWnd::Dump(dc);
}

#endif //_DEBUG

/////////////////////////////////////////////////////////////////////////////
// CMainFrame message handlers


void CMainFrame::Onbetter() 
{

}

void CMainFrame::Onwinhlp() 
{
	LPCTSTR str="help.chm";
//	::HtmlHelpA(this->m_hWnd,str,HH_DISPLAY_TOPIC,0);
}

void CMainFrame::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags) 
{
	// TODO: Add your message handler code here and/or call default
		if(nChar==VK_RETURN)
	{
	
	//Onstart();
	}
		AfxMessageBox("aa");
	CFrameWnd::OnKeyDown(nChar, nRepCnt, nFlags);
}

⌨️ 快捷键说明

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