从Visual Studio C++中另一个项目的对话框访问一个项目的对话框

Posted

技术标签:

【中文标题】从Visual Studio C++中另一个项目的对话框访问一个项目的对话框【英文标题】:Access dialog of one project from dialog of another project in visual studio c++ 【发布时间】:2014-11-25 06:18:29 【问题描述】:

我使用 MFC 和对话框创建了两个独立的可执行项目。

我想做的—— 运行一个项目并使用它的对话框打开另一个项目对话框,就像单击一个对话框中的按钮打开另一个项目对话框一样。我在这里说的是另一个项目,而不是同一个项目。

只需一个可执行文件即可访问两个项目对话框并从另一个对话框调用一个对话框。

有可能吗??还是我必须将整个项目合并到另一个项目中??

我是 Visual Studio 的新手,所以请提出一些建议。谢谢

【问题讨论】:

【参考方案1】:

您不能使用这两个 EXE 项目,而是将其中一个项目设为 DLL 并从 EXE 调用 DLL(DLL 将被加载到与 EXE 相同的进程空间中)。有几种不同的方法可以编写 DLL,但这是一个非常大的话题。这是 Microsoft 网站上的一个很好的起点:

Microsoft: DLLs in Visual C++

【讨论】:

谢谢,但我能够独立地将它们用于我的项目。【参考方案2】:

您应该考虑 snowdude 建议的机制。但是,如果您需要创建多个可执行文件(即.exe),您可以使用LoadLibrary 函数来访问其他可执行文件中的对话框代码。 LoadLibrary 不能用于运行其他可执行文件,但是,您可以使用 GetProcAddress 函数为将运行对话框代码的其他可执行文件中的函数提供地址。

【讨论】:

以上是关于从Visual Studio C++中另一个项目的对话框访问一个项目的对话框的主要内容,如果未能解决你的问题,请参考以下文章

如何将项目从 Visual C++ 6.0 转换为 Visual Studio Express 2010?

使用 Visual Studio 2010 将 libexif 编译为静态库 - 然后从 Visual C++ 项目链接

如何在 Visual Studio 中将用 C 编写的源代码从另一个项目包含到我自己的 C++ 项目中

在 Visual Studio 2010 中从 .NET 项目启动 C++ 项目

C++ 项目在 Visual Studio 2019 中触发了断点

C++ - 将 C++ 代码从 Visual Studio 移植到 Linux Eclipse IDE 时出现问题