网站维护平台如何应对网站出现的各种问题?
摘要:网站出现的的问题,网站维护平台,深圳营销型网站建设服务费用,个人 可以做社交网站MFC程序开发所谓是非常简单,但是对于我们逆向人员来说,如果想要逆向MFC程序&#x
网站出现的的问题,网站维护平台,深圳营销型网站建设服务费用,个人 可以做社交网站MFC程序开发所谓是非常简单#xff0c;但是对于我们逆向人员来说#xff0c;如果想要逆向MFC程序#xff0c;那么我们就必须了解它背后的机制#xff0c;这样我们才能够清晰地逆向出MFC程序#xff0c;今天这篇文章就来带领大家了解MFC的第一大机制#xff1a;程序启动机…MFC程序开发所谓是非常简单但是对于我们逆向人员来说如果想要逆向MFC程序那么我们就必须了解它背后的机制这样我们才能够清晰地逆向出MFC程序今天这篇文章就来带领大家了解MFC的第一大机制程序启动机制
首先我们创建一个单文档架构程序我们来观察一下
这里我创建的项目名称为MFCApplication1
我们发现一共有三个类这里有一些是MFC自动为我们写好的类类名称通常为项目名称继承了MFC库中的一些类我们只看MFC库中的类我们发现大致三个类
CFrame类这个类是框架窗口类封装了框架窗口的操作
CWinApp类这个类是应用程序类封装了流程的操作
CDocument类这个类是文档类封装了数据的处理例如存储转换等
CView类这个类是视图类封装了视图窗口的操作
我们主要讲解的是CFrame类和CWinApp类
这里我创建好的项目我们先来看看部分源代码
CMFCApplication1.h // MFCApplication1.h: MFCApplication1 应用程序的主头文件
//
#pragma once#ifndef __AFXWIN_H__#error include pch.h before including this file for PCH
#endif#include resource.h // 主符号// CMFCApplication1App:
// 有关此类的实现请参阅 MFCApplication1.cpp
//class CMFCApplication1App : public CWinApp
{
public:CMFCApplication1App() noexcept;// 重写
public:virtual BOOL InitInstance();virtual int ExitInstance();// 实现afx_msg void OnAppAbout();DECLARE_MESSAGE_MAP()
};extern CMFCApplication1App theApp;
MianFrm.h // MainFrm.h: CMainFrame 类的接口
//#pragma onceclass CMainFrame : public CFrameWnd
{protected: // 仅从序列化创建CMainFrame() noexcept;DECLARE_DYNCREATE(CMainFrame)// 特性
public:// 操作
public:// 重写
public:virtual BOOL PreCreateWindow(CREATESTRUCT cs);// 实现
public:virtual ~CMainFrame();
#ifdef _DEBUGvirtual void AssertValid() const;virtual void Dump(CDumpContext dc) const;
#endifprotected: // 控件条嵌入成员CToolBar m_wndToolBar;CStatusBar m_wndStatusBar;// 生成的消息映射函数
protected:afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);DECLARE_MESSAGE_MAP()};
看完这部分源码之后我们来自己实现不用MFC自动帮我们实现的类来加深我们的理解
我们创建一个控制台应用修改项目属性
常规MFC的使用在静态库中使用MFC连接器-系统-子系统窗口
接下来我们删除掉main.cpp中的所有代码我们来自己仿照MFC写一个窗口
#include afxwin.hclass CMyFrameWnd:public CFrameWnd{
public:
}class CMyApp:public CWinApp{
public:CMyApp(){};//必须要重写虚函数virtual BOOL InitInstance(){CMyFrameWnd* pFrame new CMyFrameWnd;pFrame-Create(NULL,LFirstMFC);m_pMainWnd pFrame;pFrame.
