Windows 8 Metro Style剪贴板例外

时间:2013-01-13 16:16:38

标签: windows-8 microsoft-metro clipboard

我开发了一个应用程序,它以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模式下发生?

0 个答案:

没有答案