2016-01-10 2 views
1

Я искал способ прослушивания изменений буфера обмена в универсальном приложении платформы Windows. Я хочу иметь службу, которая работает в фоновом режиме, независимо от состояния приложения, которое прослушивает изменения буфера обмена. Я искал, но похоже, что у uwp нет класса обслуживания, такого как android.Слушайте изменения буфера обмена на фоне приложения uwp?

Спасибо заранее,

Сет

ответ

0

Это очень просто, и вы можете к нему так:

Clipboard.ContentChanged += (s, e) => 
{ 
    DataPackageView dataPackageView = Clipboard.GetContent(); 
    if (dataPackageView.Contains(StandardDataFormats.Text)) 
    { 
     string text = await dataPackageView.GetTextAsync(); 
     // To output the text from this example, you need a TextBlock control 
     TextOutput.Text = "Clipboard now contains: " + text; 
    } 
} 

Для больше вы можете прочитать MSDN - Copy and paste

+0

Я знаю, как читать буфер обмена, но я хочу иметь возможность контролировать его в любое время, даже если приложение закрыто. –

+0

@SethLessard Итак, я предлагаю вам этот примерный проект, надеюсь, что эта помощь вам поможет [BackgroundTask] (https://github.com/Microsoft/Windows-universal-samples/tree/master/Samples/BackgroundTask) –

0

слушать изменения буфера обмена в универсальном приложении платформы Windows.

Прослушивание изменений в буфере обмена в приложении UWP не поддерживается.

Вам нужно будет использовать фоновое задание для мониторинга системы даже в случае приостановки процесса переднего плана. Ниже приведен список всех поддерживаемых системных триггеров.

https://msdn.microsoft.com/EN-US/library/windows/apps/windows.applicationmodel.background.systemtriggertype.aspx.

Событие буфера обмена не поддерживается в триггерах BackgroundTask.