C# 无法将剪贴板复制到C:\文件夹

C# 无法将剪贴板复制到C:\文件夹,c#,permissions,clipboard,C#,Permissions,Clipboard,按下“打印屏幕”按钮后,我正在尝试拍摄显示器的屏幕截图。使用下面的代码,我试图检查剪贴板中是否有任何内容。如果是这样,我正在尝试将其保存在c:。当我运行下面的代码时,它总是导致“GDI+中发生一般错误”异常。但是当我使用代码但将文件夹更改为“f:\”时,它就可以正常工作了。“C:\”文件夹似乎存在访问权限问题。请让我知道如何为C文件夹启用权限 using System; using System.Collections.Generic; using System.ComponentModel;

按下“打印屏幕”按钮后,我正在尝试拍摄显示器的屏幕截图。使用下面的代码,我试图检查剪贴板中是否有任何内容。如果是这样,我正在尝试将其保存在c:。当我运行下面的代码时,它总是导致“GDI+中发生一般错误”异常。但是当我使用代码但将文件夹更改为“f:\”时,它就可以正常工作了。“C:\”文件夹似乎存在访问权限问题。请让我知道如何为C文件夹启用权限

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
    {
        [STAThread]
        static void Main(string[] args)
        {
            if (Clipboard.ContainsImage())
            {
                Image screenshot = Clipboard.GetImage();
                Image mahir = screenshot;

                mahir.Save("c:\\screenshot.gif", System.Drawing.Imaging.ImageFormat.Gif);
            }
        }
    }
}

为什么要将它保存到
c:
,而不是更易于管理的地方,比如
mydocuments
Desktop
?根据您运行程序的位置,您在尝试直接保存到
c:
时可能会遇到安全问题,也可能不会遇到安全问题

考虑使用
Environment.SpecialFolder
enum获取正确的位置并将图像保存在那里

mahir.Save(Path.Combine(
  Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "screenshot.gif"),
  System.Drawing.Imaging.ImageFormat.Gif);

或者,您可以尝试使用管理员权限运行您的程序。

为什么要将其保存到
c:
,而不是保存到更易于管理的位置,例如
我的文档
桌面
?根据您运行程序的位置,您在尝试直接保存到
c:
时可能会遇到安全问题,也可能不会遇到安全问题

考虑使用
Environment.SpecialFolder
enum获取正确的位置并将图像保存在那里

mahir.Save(Path.Combine(
  Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "screenshot.gif"),
  System.Drawing.Imaging.ImageFormat.Gif);

或者,您可以尝试使用管理员权限运行您的程序。

为什么要将其保存到
c:
,而不是保存到更易于管理的位置,例如
我的文档
桌面
?根据您运行程序的位置,您在尝试直接保存到
c:
时可能会遇到安全问题,也可能不会遇到安全问题

考虑使用
Environment.SpecialFolder
enum获取正确的位置并将图像保存在那里

mahir.Save(Path.Combine(
  Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "screenshot.gif"),
  System.Drawing.Imaging.ImageFormat.Gif);

或者,您可以尝试使用管理员权限运行您的程序。

为什么要将其保存到
c:
,而不是保存到更易于管理的位置,例如
我的文档
桌面
?根据您运行程序的位置,您在尝试直接保存到
c:
时可能会遇到安全问题,也可能不会遇到安全问题

考虑使用
Environment.SpecialFolder
enum获取正确的位置并将图像保存在那里

mahir.Save(Path.Combine(
  Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "screenshot.gif"),
  System.Drawing.Imaging.ImageFormat.Gif);

或者,您可以尝试使用管理员权限运行程序。

您的代码是在Windows Vista还是更高版本上运行的?如果是这样,您只有权限以管理员身份在文件夹“c:\”中写入。您是否在Windows Vista或更高版本上运行代码?如果是这样,您只有权限以管理员身份在文件夹“c:\”中写入。您是否在Windows Vista或更高版本上运行代码?如果是这样,您只有权限以管理员身份在文件夹“c:\”中写入。您是否在Windows Vista或更高版本上运行代码?如果是这样,您只有权限以管理员身份在文件夹“c:\”中写入。