2015-03-31 50 views
0

我想從控制檯C++應用程序中使用「啓動器類」Launcher class的成員函數,而不是Windows應用商店應用程序而不是在控制檯應用程序EXE中)。在控制檯中使用WIndows :: System :: Launcher類成員函數的C++示例C++應用程序

與任何包含DLL,一個頭文件作爲最低要求的一般WIndows API不同,它包含名稱空間Windows :: System和元數據「Windows.winmd」。

因此,它意味着它使用.NET框架(公共語言運行庫)爲此名稱的WindowsSocket中的啓動器類。

我更改了屬性 - >配置 - > COmmon語言運行庫支持中的VS設置以包含CLR。

,我使用:

using namespace System; 

但我看到啓動類是不存在這裏。 此外,我試圖

using namespace Windows.System; 

爲啓動類是在WIndows.System命名空間,但不能在這裏找到啓動類了。

我可以請一個關於使用Launcher類成員函數的代碼片段的幫助。

回答

2

我不認爲這可以在最初完成,但它似乎是可能的。

Sridhar Poduri彙集了一個Visual Studio擴展,該擴展創建了一個C++/CX控制檯應用程序項目模板。 https://visualstudiogallery.msdn.microsoft.com/e9210454-c1b5-4d89-b8ca-92a64dfb8d28 使用此模板構建的項目將能夠調用C++/CX API,例如Windows :: System :: Launcher :: LaunchURIAsync()。不過,我不確定這個特定的API是否可以從命令行應用程序中使用,當我嘗試它時,它引發了一個異常。

如果您想知道如何更改正常的Win32控制檯應用程序模板以使用C++/CX,請在項目設置中更改以下內容。 在C/C++ - >常規

  1. 設置 「消費Windows運行時擴展」 爲 「Yes/ZW」
  2. 添加這些路徑,以 「附加使用#using目錄」:「C:\ Program Files文件(86) \ Microsoft \ SDK \ Windows \ v8.1 \ ExtensionSDKs \ Microsoft.VCLibs \ 12.0 \ References \ CommonConfiguration \ neutral \; C:\ Program Files(x86)\ Windows Kits \ 8.1 \ References \ CommonConfiguration \ Neutral;%(AdditionalUsingDirectories)「

在C/C++ - >代碼生成

  • 將「啓用最小重建」設置爲「否/ Gm-」
  • 進行這些更改應該允許您編譯使用C++/CX API的代碼。下面是一些示例代碼:

    #include <iostream> 
    using namespace std; 
    using namespace Platform; 
    
    int main(Platform::Array<Platform::String^>^ args) 
    { 
        Platform::Details::Console::WriteLine("Hello World"); 
    
        return 0; 
    } 
    

    而且,我只是想指出,你所引用的啓動API絕對不是C++ \ CLI。它是C++ \ CX,與C++ \ CLI共享類似的語法。

    相關問題