C#显示当前计算机所有打印机名称,同时获取指定打印机的状态比如缺纸、缺墨等,并且生成记录日志和数据库,发送邮件通知当前打印出错消息,打包成exe安装文件——(三)输出打印机监控日志并定期销毁

//输出监控日志文件
            string printname = textBox5.Text;
            string str = PrinterStatusByName.GetPrinterStatusByName(printname);
           // Console.Write(printname);
            string sFilePath = "d:\\打印机监控日志\\";
            string sFileName = DateTime.Now.ToString("yyyy-MM-dd") + ".log";
            sFileName = sFilePath + "\\" + sFileName; //文件的绝对路径
            if (!Directory.Exists(sFilePath))//验证路径是否存在
            {
                Directory.CreateDirectory(sFilePath);
                //不存在则创建
            }
            FileStream fs;
            StreamWriter sw;
            if (File.Exists(sFileName))
            //验证文件是否存在,有则追加,无则创建
            {
                fs = new FileStream(sFileName, FileMode.Append, FileAccess.Write);
            }
            else
            {
                fs = new FileStream(sFileName, FileMode.Create, FileAccess.Write);
            }
            sw = new StreamWriter(fs);
            sw.WriteLine(DateTime.Now.ToString("yyyy年MM月dd日 HH:mm:ss") + "   当前打印机状态---   " + str);
            sw.Close();
            fs.Close();
            //定期销毁日志
            string Path = "d:\\打印机监控日志\\";
            if (Directory.Exists(Path))
            {
                DirectoryInfo dinfor = new DirectoryInfo(Path);
                FileInfo[] files = dinfor.GetFiles();
                foreach (FileInfo file in files)
                {
                    //删除日志名称日期是1天前的日志
                    if (DateTime.Compare(Convert.ToDateTime(file.Name.Substring(0, 10)), DateTime.Now.AddDays(-1)) < 0)
                    {
                        // Console.WriteLine("1");
                        file.Delete();
                    }
                    //删除日志创建日期是1天前的日志
                    if (DateTime.Compare(file.CreationTime.AddDays(1), DateTime.Now) < 0)
                    {
                        //  Console.WriteLine("2");
                        file.Delete();
                    }
                    //删除最后修改日志日期是1天前的日志打印机状态监控
                    if (DateTime.Compare(file.LastWriteTime.AddDays(1), DateTime.Now) < 0)
                    {
                        //  Console.WriteLine("3");
                        file.Delete();
                    }
                }
            }

C#显示当前计算机所有打印机名称,同时获取指定打印机的状态比如缺纸、缺墨等,并且生成记录日志和数据库,发送邮件通知当前打印出错消息,打包成exe安装文件——(二)获取服务器所有打印机链接

https://blog.csdn.net/yangjueye/article/details/80589687

关于整套程序如果有不懂得欢迎微信扫码提问!


猜你喜欢

转载自blog.csdn.net/yangjueye/article/details/80590067
今日推荐