Ниже приведен код, как я помещаю текстовую строку в буфер обмена Windows. Я ищу команду для закрытия ресурса буфера обмена сразу после того, как приложение больше не заблокировано. Вы знаете, как закрыть содержимое буфера обмена явно на C#?Как закрыть буфер обмена в C#?
Это код
String s = "Hello World";
Thread staThread3 = new Thread
(
delegate()
{
try { new SetClipboardHelper(DataFormats.Text, s).Go();}
catch (Exception ex) { /* Exception Handling */ }
}
);
staThread3.SetApartmentState(ApartmentState.STA);
staThread3.Start();
staThread3.Join();
// Here I would like to close the clipboard
// ????
Это код класса SetClipboardHelper
class SetClipboardHelper : StaHelper
{
readonly string _format;
readonly object _data;
public SetClipboardHelper(string format, object data)
{
_format = format;
_data = data;
}
protected override void Work()
{
var obj = new System.Windows.Forms.DataObject(
_format,
_data
);
Clipboard.SetDataObject(obj, true);
}
}
_ так что он больше не заблокирован app_ - Что это значит? – Igor
Возможно, вы захотите добавить, что у вас есть классы, которые вы используете из [здесь] (http://stackoverflow.com/questions/899350/how-to-copy-the-contents-of-a-string-to-the- clipboard-in-c), потому что они не являются частью .NET Framework. – nvoigt
Я предполагаю, что приложение блокирует использование ресурса буфера обмена на определенное количество времени, прежде чем другое приложение сможет его использовать. – Guido