1

我创建了控制台类型的项目,但现在看看我需要什么 win32 类型。是否可以即时更改它?

真正的原因是我需要 hInstance 来运行我的窗口,所以我需要这样的入口点:

int APIENTRY _tWinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPTSTR    lpCmdLine,
                     int       nCmdShow)
4

2 回答 2

2

您真正问题的真正答案是:您不需要hInstance传递给_tWinMain. GetModuleHandle(NULL);返回相同的东西。

要回答所问的问题:将控制台应用程序更改为 GUI 应用程序就像使用/SUBSYSTEM:WINDOWS链接器选项指定不同的子系统并提供适当的入口点(由 CRT 调用)一样简单。如果没有明确设置,链接器将根据 /SUBSYSTEM 选项选择正确的入口点。如果您更改了入口点,则还必须使用/ENTRY链接器选项对其进行更新。

所有选项都可以通过 Visual Studio GUI 访问,或在各自的 *.vcproj 文件中手动更改。

于 2014-02-23T18:27:24.250 回答
1

据我所知,没有向导或内置工具可以做到这一点。至少在我使用过的 Visual Studio 版本中没有(直到 VS2008)。

您可以手动完成,编辑所有不同的部分。您可以创建一个新类型的空项目,并将任何不同的内容复制到您的代码中。

但是,我想我会反过来。我将创建一个您需要的类型的新空项目,并将您已经创建的所有代码/设置复制到那里。

于 2013-05-06T16:20:18.170 回答