0

以下は、テキスト文字列を Windows クリップボードに入れる方法のコードです。アプリによってロックされないように、クリップボード リソースをすぐに閉じるコマンドを探しています。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);
    }
}
4

1 に答える 1

0

OpenClipboard()メソッドを呼び出してクリップボードを「ロック」する (他のアプリが変更できないようにする)場合は、 CloseClipboard()で閉じることができます (他のアプリケーションが使用できないため、そうする必要があります)

クリップボードにコピーするときは、次の順序に従う必要があります

于 2013-03-13T09:46:32.990 に答える