创建一个最小的Hello World UWP应用程序

时间:2017-06-20 09:50:06

标签: uwp visual-studio-2017 c++-cx

我正在使用Visual Studio 2017创建一个简单的C ++ / Cx通用Windows平台应用程序。我需要从零开始,没有任何服饰。

当我创建一个新的“空白”项目时,我最终得到2个XAML个文件(每个文件都链接了.cpp.h文件)和一个充满生成代码的目录。其中一些文件甚至在第一次编译后生成。这不适合我的情况,我希望有一个main()函数,只需要最少的代码来运行Hello World应用程序,没有自动生成的代码。

在其中一个生成的文件(App.g.hpp)中,我找到了main()方法,但我找不到在非生成文件中编写自己的方法的方法:

int __cdecl main(::Platform::Array<::Platform::String^>^ args)
{
    (void)args; // Unused parameter
    ::Windows::UI::Xaml::Application::Start(ref new ::Windows::UI::Xaml::ApplicationInitializationCallback(
        [](::Windows::UI::Xaml::ApplicationInitializationCallbackParams^ p) {
            (void)p; // Unused parameter
            auto app = ref new ::MinimalUWP::App();
        }));
}

是否有可用于真实空白UWP项目的模板?

1 个答案:

答案 0 :(得分:0)

我终于使用这段代码解决了这个问题:

ref class UwpApp : public ::Windows::UI::Xaml::Application
{
protected:
   virtual void OnLaunched(Windows::ApplicationModel::Activation::LaunchActivatedEventArgs^ e) override
   {
      // Use e->Arguments as main arguments
   }
};

int __cdecl main(::Platform::Array<::Platform::String^>^ args)
{
   ::Windows::UI::Xaml::Application::Start(ref new ::Windows::UI::Xaml::ApplicationInitializationCallback(
      [](::Windows::UI::Xaml::ApplicationInitializationCallbackParams^ p) {
      auto app = ref new UwpApp();
   }));
}

谢谢@IInspectable,最后我坚持使用C ++ / CX并且它有效!