我开发了一个应用程序,它以DispatcherTimer Tick()
方法读取剪贴板数据。
每秒都会读取剪贴板数据。
应用程序在开发机器中没有异常(在调试或重新模式下),但是如果我在Win RT Tablet设备上发布应用程序,我在读取剪贴板时会遇到异常,但奇怪的是仅在“快照视图”模式下。
在全视图模式下,它没有任何问题。
例外是:
"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模式下发生?