3

まったく新しい、バニラの c# Windows 8 ストア アプリを作成しました。App() 関数に、コマンド ライン引数を収集するコード行を追加しました。IDE は、GetCommandLineArgs() が環境の一部ではないことを訴えます。

public App()
{
    this.InitializeComponent();
    this.Suspending += OnSuspending;

    String[] arguments = Environment.GetCommandLineArgs();
}

Microsoft のサイトのこのページは、これが .NET 4.5 でサポートされていることを示しているようです。何を与える?

(技術的には、引数を App() パラメーターとして収集することもできますが、私はそうしない方がよいと思います。他のコード行でもこれを呼び出しているため、「そのまま」にしておくことをお勧めします。さらに、私はただ興味がありますなぜこれがうまくいかないのか、うまくいくようです。

4

2 に答える 2

1

コマンド ラインで Windows ストア アプリに引数を渡すにはどうすればよいでしょうか。最も近い類似物はおそらくLaunchActivatedEventArgsでしょう。たとえば、セカンダリ タイルがある場合 (たとえば、ボストンの天気のタイルとホノルルの天気のタイル - 同じアプリで異なる引数) に使用されます。

詳細については、アプリをアクティブ化する方法をご覧ください。

Todd の最初のコメントに応じて更新。

次に探しているのはFile Activationです。.txt ファイルなど、ファイルが処理方法を知っていることを示すことができます。ユーザーがファイル エクスプローラーで .txt ファイルを右クリックすると、アプリは "Open With.." オプションとして表示されます。ユーザーがファイルの処理に使用するアプリとしてアプリを選択すると、アプリが起動 (または既に実行されている場合はアクティブ化) し、そのOnFileActivatedイベントが発生して、ファイルにアクセスできます。選択されたもの。

于 2012-12-04T07:04:44.127 に答える
0

環境クラスの説明を読むと、APIは次のOSにのみ適用可能であることが明確に示されています。

プラットフォーム

Windows 8、Windows Server 2012、Windows 7、Windows Vista SP2、Windows Server 2008(Server Core Roleはサポートされていません)、Windows Server 2008 R2(Server Core RoleはSP1以降でサポートされています。Itaniumはサポートされていません)

.NET Frameworkは、すべてのプラットフォームのすべてのバージョンをサポートしているわけではありません。サポートされているバージョンのリストについては、.NETFrameworkのシステム要件を参照してください。

ただし、Windowsストアアプリでは、ストア記号でマークされた関数のみがサポートされています。

Windowsストアアプリの機能

ここに画像の説明を入力してください

WinRT/Windowsストア以外のアプリケーションの関数

ここに画像の説明を入力してください

コマンドライン引数をWindowsストアアプリケーションに渡すことができないため、WindowsストアアプリにEnvironment.GetCommandLineArgsメソッドを含めることは実際には意味がありません。

クラスWinRT/Windows store appsで使用できるプロパティは5つとメソッドは1つだけです。Environment

プロパティ

  1. CurrentManagedThreadId
  2. HasShutdownStarted
  3. NewLine
  4. ProcessorCount
  5. TickCount

メソッド

于 2012-12-04T04:40:37.343 に答える