メソッドでクリップボードのデータを読み取るアプリケーションを開発しましたDispatcherTimer Tick()
。毎秒クリップボードのデータが読み取られます。
アプリケーションは開発マシン (デバッグ モードまたはリリース モード) では例外をスローしませんが、Win RT タブレット デバイスでアプリケーションを公開すると、クリップボードの読み取り中に例外が発生しますが、不思議なことに「スナップ ビュー」モードでのみ発生します。
フル ビュー モードでは、問題なく動作します。
例外は次のとおりです。
"Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))".
コードは次のようになります。
private async Task Populate()
{
try
{
var clipboardText = await this.GetTextFromClipboard();
.....
}
catch (Exception ex)
{
this.HandleException("Error occured while reading clipboard: ", ex);
}
}
private async Task<string> GetTextFromClipboard()
{
var dataPackageView = Clipboard.GetContent(); // Exception occurs here!!!
if (dataPackageView.Contains(StandardDataFormats.Text))
{
var clipboardText = await dataPackageView.GetTextAsync();
return clipboardText;
}
return string.Empty;
}
ここで何が問題で、なぜ Snap View モードでのみ発生するのですか?