1

我需要在 C++ 中创建一个 Windows 应用程序,它必须只显示一个TaskDialog(参见http://msdn.microsoft.com/en-us/library/windows/desktop/bb760540(v=vs.85).aspx)。TaskDialog应该显示作为参数传递给命令行的文本。

我可以制作一个“Win32 控制台应用程序”并调用TaskDialog,但随后我会看到控制台的黑色窗口。

TaskDialog我可以制作一个“Windows 应用程序”并在里面调用WinMain,这个解决方案有什么问题吗?

还有什么想法吗?

4

2 回答 2

5

我可以制作一个“Windows 应用程序”并在 WinMain 中调用 TaskDialog,这个解决方案有什么问题吗?

这就是实现这样一个应用程序的方式。这一切都没有问题。当然,您不会在代码中显式创建窗口,也不会运行消息循环。只要打电话TaskDialog

要点是您不需要控制台应用程序,因为正如您所发现的,默认情况下会显示控制台窗口。有两个主要子系统,控制台子系统和 GUI 子系统。后者的名称有些混乱。您不必在 GUI 子系统应用程序中显示 GUI。是否选择这样做取决于您。实际上,选择归结为您是否想要控制台。所以子系统可以更好地命名为控制台和非控制台!

于 2012-01-30T20:33:51.017 回答
1

您必须创建一个空的 Windows 应用程序。

Windows 应用程序的入口点称为 WinMain,如下所示:

int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow)
{
    //Place your code here
}

这意味着您的解决方案是正确的。您只需确保您的应用程序使用 Comctl32.dll 版本 6。否则 TaskDialog 将失败。

于 2012-01-30T21:38:39.080 回答