mfc怎么把外部模块,控制台写的程序,接入主界面

我写了个程序用来计算一种数,学校要求在mfc的那个菜单界面能打开我写的这个程序运行界面,不知道提问方式对不对,提示就给到这

img

  • 这个问题的回答你可以参考下: https://ask.csdn.net/questions/237237
  • 这篇博客你也可以参考下:mfc菜单项修改更新后,mfc运行后菜单快捷键不显示
  • 除此之外, 这篇博客: MFC写串口升级版,可在界面上设置波特率,校验位,自动读取COM口之内的中的 写好的程序连接 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 自己写好的程序:https://download.csdn.net/download/qq_40305944/12192872

  • 您还可以看一下 胡兵老师的MFC开发简单聊天程序课程中的 解决接收字符串不完整小节, 巩固相关知识点
  • 以下回答由chatgpt基于相关博客总结生成:

    首先,需要创建一个MFC应用程序并打开资源视图。在菜单资源下添加一个新的菜单选项,例如“打开计算程序”。然后,在菜单命令响应函数中添加代码以打开控制台应用程序的界面。

    为了实现这个目标,需要进行以下步骤:

    1. 在资源视图中,右击菜单资源,并选择添加新菜单命令。将命令ID设置为ID_OPEN_CALC,并将提示文本设置为“打开计算程序”。

    2. 打开主框架窗口的头文件(通常是FrameWnd.h),并添加一个成员函数,名称为OnOpenCalc(),以响应在菜单中选择“打开计算程序”的操作。

    例如,可以在MainFrame.h文件中添加以下代码:

    afx_msg void OnOpenCalc();
    
    1. 在主框架窗口的实现文件(通常是FrameWnd.cpp)中添加控制台应用程序的调用代码到菜单响应函数中。这个过程中可能需要使用ShellExecute函数。

    例如,可以在MainFrame.cpp文件中添加以下代码:

    void CMainFrame::OnOpenCalc()
    {
        // 使用ShellExecute函数调用控制台应用程序
        ShellExecute(NULL, "open", "calc.exe", NULL, NULL, SW_SHOWDEFAULT);
    }
    
    1. 最后,在资源视图中双击菜单ID_OPEN_CALC,并将命令响应函数设置为CMainFrame::OnOpenCalc()。

    现在,当用户在菜单中选择“打开计算程序”,MFC应用程序将调用控制台应用程序的界面。完整的示例代码如下:

    MainFrame.h文件:

    class CMainFrame : public CFrameWnd
    {
        DECLARE_DYNAMIC(CMainFrame)
    
    public:
        CMainFrame();
        virtual ~CMainFrame();
    
        // 声明菜单命令响应函数
        afx_msg void OnOpenCalc();
    
    protected:
        DECLARE_MESSAGE_MAP()
    };
    

    MainFrame.cpp文件:

    #include "stdafx.h"
    #include "MFCApplication.h"
    #include "MainFrame.h"
    
    #ifdef _DEBUG
    #define new DEBUG_NEW
    #endif
    
    BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)
        ON_COMMAND(ID_OPEN_CALC, &CMainFrame::OnOpenCalc)
    END_MESSAGE_MAP()
    
    CMainFrame::CMainFrame()
    {
        // ...
    }
    
    CMainFrame::~CMainFrame()
    {
        // ...
    }
    
    void CMainFrame::OnOpenCalc()
    {
        // 调用控制台应用程序
        ShellExecute(NULL, "open", "calc.exe", NULL, NULL, SW_SHOWDEFAULT);
    }
    

    在资源视图中,可以看到已经添加了“打开计算程序”菜单选项。选择该选项,应用程序将调用控制台应用程序的界面。

    最终效果:

    menu calc

改一下项目属性,可以实现既有控制台,又有MFC界面的,也可以用一个按钮调用控制台

你是要将控制台插入MFC的界面中还是说通过点击菜单按钮打开你写的程序。如果是后者,只需要调用system()或者shellexecute(),参数是你的程序的路径。