如何通过AppxManifest.xml中的EntryPoint =“ Windows.FullTrustApplication”将args传递给UWP应用程序

时间:2019-03-11 14:52:39

标签: windows visual-studio uwp appxmanifest

我试图设置一个AppxManifest.xml以启动Win32应用程序作为完全信任应用程序。使用下面的代码片段,我可以Add-AppxPackage -Register AppxManifest.xml,然后使用Debug > Other Debugging Tools > Debug Installed Application在Visual Studio 2017中调试应用程序。

但是,我想在启动应用程序时将一些参数传递给应用程序。我该如何完成?我不介意将它们列出在AppxManifest.xml中(如果最简单的话),我只需要知道如何操作。

...
<Applications>
    <Application Id="App" Executable="SomeExecutable.exe" EntryPoint="Windows.FullTrustApplication">
      <uap:VisualElements DisplayName="Wrap" Description="Wrap" BackgroundColor="transparent" Square150x150Logo="Assets\Square150x150Logo.png" Square44x44Logo="Assets\Square44x44Logo.png">
        <uap:DefaultTile Wide310x150Logo="Assets\Wide310x150Logo.png" />
      </uap:VisualElements>
    </Application>
  </Applications>
...

1 个答案:

答案 0 :(得分:0)

Protocol associations是您要寻找的:

  

协议关联可以启用其他程序和系统组件   与打包的应用进行互操作。当您打包的应用程序   是通过使用协议启动的,您可以指定特定的参数来   传递给其激活事件参数,以便其可以相应地运行。   仅打包的,完全信任的应用程序支持参数

<Package
  xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"
  xmlns:desktop="http://schemas.microsoft.com/appx/manifest/desktop/windows10"
  IgnorableNamespaces="uap3, desktop">
  <Applications>
    <Application>
      <Extensions>
        <uap3:Extension
          Category="windows.protocol">
          <uap3:Protocol
            Name="myapp-cmd"
            Parameters="/p " />
        </uap3:Extension>
      </Extensions>
    </Application>
  </Applications>
</Package>