Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 无法在我的电脑中粘贴任何文本或文件-剪贴板错误_C#_.net_Winforms_Clipboard - Fatal编程技术网

C# 无法在我的电脑中粘贴任何文本或文件-剪贴板错误

C# 无法在我的电脑中粘贴任何文本或文件-剪贴板错误,c#,.net,winforms,clipboard,C#,.net,Winforms,Clipboard,我正在使用代码捕获应用程序的文本 当我启动应用程序时,我无法在我的电脑中复制和粘贴任何文本或文件。我知道为什么会出现此错误,因为剪贴板每一两秒钟就会被清除一次,因为我一直在循环代码。如果我和我的客户在他们的电脑中使用我的应用程序,这对他们来说是一个大问题。我想知道我们是否可以为他们创建一个新的剪贴板只有我的应用程序使用,而不是使用我的桌面剪贴板,或者任何人都可以为我的问题提供任何解决方案 try { IEnumerator enumerat

我正在使用代码捕获应用程序的文本

当我启动应用程序时,我无法在我的电脑中复制和粘贴任何文本或文件。我知道为什么会出现此错误,因为剪贴板每一两秒钟就会被清除一次,因为我一直在循环代码。如果我和我的客户在他们的电脑中使用我的应用程序,这对他们来说是一个大问题。我想知道我们是否可以为他们创建一个新的剪贴板只有我的应用程序使用,而不是使用我的桌面剪贴板,或者任何人都可以为我的问题提供任何解决方案

        try
        {
            IEnumerator enumerator;
            MainModule.StrData = "";
            try
            {
                enumerator = this.chkListbox_odin1.CheckedIndices.GetEnumerator();
                IntPtr parentWnd = FindWindow((null), cboWindows.Text);
                IntPtr mdiClientWnd = FindWindowEx(parentWnd, IntPtr.Zero, "MDIClient", "");
                IntPtr marketwatchWnd = FindWindowEx(mdiClientWnd, IntPtr.Zero, null, windowname);
                while (enumerator.MoveNext())
                {
                    object objectValue = enumerator.Current;
                    this.WindowText(marketwatchWnd);
                }
                //    System.Windows.Forms.SendKeys.SendWait("{ESC}");
                //  Application.DoEvents();
            }
            finally
            {

            }
            Clipboard.Clear();
        }
        catch (Exception exception1)
        {
           // MessageBox.Show(exception1.Message);
        }
以下是我的问题的一些图像

我可以在运行应用程序时进行复制。

但是当我尝试粘贴时

粘贴不是高亮显示,

如果有人能帮助我,我将不胜感激


提前感谢。

我想,一旦您找到了要复制其文本的窗口,或者将焦点移到了该窗口,您将/正在使用SendKeys执行复制操作。(您当前的代码只是清除剪贴板,而不是在剪贴板上放置任何内容或使用其数据)您可以尝试查看在剪贴板上使用的方法。该方法将允许您完全跳过使用剪贴板,并具有不要求您更改窗口焦点的额外好处,这对最终用户来说可能是一个与不断清除剪贴板同样糟糕的问题。(本部分假设您使用SendKeys影响剪贴板,我相信它只在当前聚焦的窗口上工作)

您看到的错误是什么?这不是错误。我的问题是,我无法复制和粘贴,因为剪贴板正忙于捕获另一个应用程序文本。我的意思是,当我尝试复制和粘贴时,粘贴菜单未高亮显示。