C# 无法删除文件,因为其他进程正在使用该文件
我在截图后试图删除一个文件。代码如下:C# 无法删除文件,因为其他进程正在使用该文件,c#,image,process,screenshot,delete-file,C#,Image,Process,Screenshot,Delete File,我在截图后试图删除一个文件。代码如下: private static void makeSc() { DateTime d = DateTime.Now; string currentDT = String.Format("{0:yyyy-MM-dd-hhmmsstt}", d); string scrFilename = currentDT+".jpg"; int screenWidth = Screen.GetBound
private static void makeSc()
{
DateTime d = DateTime.Now;
string currentDT = String.Format("{0:yyyy-MM-dd-hhmmsstt}", d);
string scrFilename = currentDT+".jpg";
int screenWidth = Screen.GetBounds(new Point(0, 0)).Width;
int screenHeight = Screen.GetBounds(new Point(0, 0)).Height;
Bitmap bmpScreenShot = new Bitmap(screenWidth, screenHeight);
Graphics gfx = Graphics.FromImage((Image)bmpScreenShot);
gfx.CopyFromScreen(0, 0, 0, 0, new Size(screenWidth, screenHeight));
bmpScreenShot.Save(scrFilename, ImageFormat.Jpeg);
//delete file
bmpScreenShot.Dispose();
Thread.Sleep(20);
File.Delete(scrFilename);
}
看来,也没有人处理这件事。有什么想法吗?处理就足够了。这段代码适用于我,没有错误。在您尝试删除文件时,是否在Windows资源管理器中选择了该文件?此外,您还应该处理gfx。实际上,我正在使用另一个方法来使用该文件,在这里,我必须在调用方法中使用该文件的对象上添加.Dispose方法。上述代码中省略了这部分代码,因为我认为这与问题无关,对此表示抱歉。但在你确认上述代码有效后,我发现了这一点。谢谢