剪贴板始终为空

Moh*_*hir 1 c# clipboard

我按下Print Screen按钮后试图截取我的显示器.使用下面的代码我试图检查剪贴板中是否有任何内容.如果是这样,我试图将其保存在c:\文件夹中.但Clipboard.ContainsImage()总是返回0,但是当我粘贴在Paint中时,会有一个图像.

我在某地读到这可以通过代表来完成.请让我知道如何做到这一点.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Drawing.Imaging;
namespace Example2
{
    class Program
    {
        static void Main(string[] args)
        {
            if (Clipboard.ContainsImage())
            {
                //System.Drawing.Image screenshot = new System.Drawing.Image();
                Image screenshot = Clipboard.GetImage();

                screenshot.Save("c:\\screenshot.jpg");
            }
            Console.ReadLine();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

小智 6

问题是您正在尝试从控制台应用程序访问剪贴板,但如果您要在表单中尝试它,这将起作用.如果你输入这个属性,你也可以使上面的代码工作.

[STAThread()]
static void Main(string[] args)
{
Run Code Online (Sandbox Code Playgroud)

使用它作为参考: Clipboard.getImage在线程内部不起作用