跨線程訪問剪貼板複製(Ctrl+C)粘貼(Ctrl+V)

  /// <summary>
    /// 跨線程訪問剪貼板複製類
    /// </summary>
    public static class ClipboardHelper
    {
        /// <summary>
        /// 跨線程訪問剪貼板
        /// </summary>
        /// <param name="text">The text.</param>
        public static void SetText(string text)
        {
            Thread myThread = new Thread(args =>
            {
                try
                {
                    Clipboard.SetText(args.ToString());
                }
                catch
                {
                    // ignored
                }
            });

            myThread.SetApartmentState(ApartmentState.STA);
            myThread.Start(text);
            myThread.Join();
        }

        /// <summary>
        /// 跨線程訪問剪貼板
        /// </summary>
        /// <returns></returns>
        public static string GetText()
        {
            string text = null;
            Thread myThread = new Thread(args =>
            {
                try
                {
                    text = Clipboard.GetText();
                }
                catch
                {
                    // ignored
                }
            });

            myThread.SetApartmentState(ApartmentState.STA);
            myThread.Start();
            myThread.Join();

            return text;
        }

        /// <summary>
        /// 跨線程訪問剪貼板
        /// </summary>
        public static void Clear()
        {
            Thread myThread = new Thread(args =>
            {
                try
                {
                    Clipboard.Clear();
                }
                catch
                {
                    // ignored
                }
            });

            myThread.SetApartmentState(ApartmentState.STA);
            myThread.Start();
            myThread.Join();
        }
    }

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章