C#服务 启动失败 -错误1064
本帖最后由 lizf2019 于 2022-11-25 18:12 编辑搞了一个能每三分钟截取一次屏幕的服务
代码很简单 就while循环延时三分钟
安装是用cmd安装的:
%SystemRoot%\Microsoft.NET\Framework\v4.0.30319\installutil.exe G:\静心_修为\GetScreen\bin\Debug\GetScreen.exe
pause
但是点击启动就报错:
/* 省略using */
namespace GetScreen
{
public partial class Service1 : ServiceBase
{
public Service1()
{
InitializeComponent();
}
public string _filePath;
public string _fileName;
public string _suffix; //后缀
public ImageFormat _imageFormat;
// public string _cutSize;
//鼠标截屏
public bool _screenShotFlag;
public bool _mouseDownFlag;
public Point _start, _end;
protected override void OnStart(string[] args)
{
//初始化
_filePath = @"C:\PicLogs\"; //默认保存路径
_imageFormat = ImageFormat.Jpeg; //默认图片格式(JPG)
_suffix = ".jpg";
if (!Directory.Exists(_filePath))
{
Directory.CreateDirectory(_filePath);
}
string time = DateTime.Now.Year.ToString() +
string.Format("{0:D2}", DateTime.Now.Month) +
string.Format("{0:D2}", DateTime.Now.Day) +
string.Format("{0:D2}", DateTime.Now.Hour) +
string.Format("{0:D2}", DateTime.Now.Minute) +
string.Format("{0:D2}", DateTime.Now.Second);
Rectangle rect = new Rectangle();
while (true)
{
rect = Screen.PrimaryScreen.Bounds; //获取主显示屏的边界
_screenShotFlag = true;
Image myImage = new Bitmap(rect.Width, rect.Height);
Graphics myGraphics = Graphics.FromImage(myImage); //创建绘图
myGraphics.CopyFromScreen(new Point(0, 0), new Point(0, 0), rect.Size);
//保存图片
string filePathName = string.Concat(_filePath, @"\", _fileName);
myImage.Save(filePathName, _imageFormat);
MessageBox.Show("截图成功,图片保存至路径:" + _filePath, "提示");
Thread.Sleep(1000);//三分钟 180000
}
}
protected override void OnStop()
{
Application.Exit();
}
}
}
一点启动就会报错1064
求助大佬指点{:301_997:} 本帖最后由 咬字分开念 于 2022-11-25 02:19 编辑
sbs
是不是少了 restart 方法导致
Graphics 在system账户貌似也截取不到屏幕信息吧 咬字分开念 发表于 2022-11-25 18:17
sbs
是不是少了 restart 方法导致
好像自带的就没有restart 谢谢您的指导 学习新知识了 00031300 发表于 2022-11-25 18:21
谢谢您的指导 学习新知识了
谢谢您的回复 学习新聊法了 咬字分开念 发表于 2022-11-25 18:17
sbs
是不是少了 restart 方法导致
好像是哦 账户权限那些好烦人{:301_992:}
要不我还是直接winform后台一直挂着算了 但是就怕它不稳定 建议早点转到无敌的.net 7 lizf2019 发表于 2022-11-25 18:25
好像是哦 账户权限那些好烦人
要不我还是直接winform后台一直挂着算了 但是就怕它不稳定
用winsw把你这个注册成服务试试? 建议加上异常捕获,可以把异常写到文件中,方便调试 jidesheng6 发表于 2022-11-25 20:38
用winsw把你这个注册成服务试试?
可以注册winform吗
页:
[1]
2