2017-12-08 21 views
0

Windowsアプリケーションの場合、.exeファイルがある既定のフォルダがあります。このフォルダにファイルを置くと、アプリケーションで開くことができます。パスなしでファイル名を指定するだけです。UWPアプリケーションのデフォルトのフォルダはありますか?

しかし、UWPの場合は異なります。アプリケーションにアクセスできるのはKnownFoldersです。私のファイルがあるKnowFolderを指定する必要があります。

しかし、ファイルをある場所に置いてアプリケーションから開くだけで、フォルダの種類やフォルダのパスを指定しないで、Windowsアプリケーションの既定のフォルダと同じ方法で開きます。

可能ですか?

+0

あなたは本当にどの問題を解決しようとしていますか?相対パスの使用は、他のアプリケーションタイプほどデスクトップアプリケーションにとっては間違っています。あなたは印象の下にあるように見えますが、これは* "default folder" *がプロセスの作成に使用された実行可能イメージであることを示しています。これはそうではありません。あなたは* "現在の作業ディレクトリ" *と呼ばれるものを参照しています。アプリケーションのショートカットを作成するときに任意の場所を指すように設定することも、実行時に変更することもできます。 – IInspectable

+0

@IInspectable、私はxmlファイルを置く必要があります。これは、アプリケーションの設定を(テストのためだけに)変更し、パスやその他のフォルダ情報なしで読むことができます。 – Alexan

+0

*「パスなし」*部分にあなたはなぜ執着していますか?完全修飾パスを構築するのは難しいですか?実行可能な相対パスが必要な場合は、 'ms-appx://'プロトコルを使用してください。 – IInspectable

答えて

1

セキュリティ上の理由から、インストールされたフォルダは読み取り専用であるため、UWPテクノロジでは「パスなしでファイル名を指定する」ことはできません。

シナリオの推奨フォルダはLocalFolderです。設定のための推奨保管場所でもありますが、公式の文書:Store and retrieve app dataをご覧ください。ローカルフォルダは複雑ではなく、コード行:

Windows.Storage.ApplicationData.Current.LocalFolder 

普通のデータの既定のフォルダとして扱うことができます。

+0

がドライブ上のどこにありますか? C:\ ProgramData?またはC:¥Users¥user_name¥AppData¥Local? – Alexan

+0

@Alexanこれは2番目のパスです。デバッグ時にこのフォルダを出力することでテストできます。 localstateフォルダがあります。 –

関連する問題