使用vbs .bat和java编写一个开机截屏并发送给自己邮箱的功能

首先要保证执行电脑中已经配置好java环境,因为我们执行的是java文件。

然后在java中写出截屏代码,

Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
Rectangle screenRectangle = new Rectangle(screenSize);
Robot robot = new Robot();
BufferedImage image = robot.createScreenCapture(screenRectangle);
 // 截图保存的路径 
File screenFile = new File("D://screen.png");  
ImageIO.write(image, "png", screenFile);

然后去邮箱设置:

使用哪个邮箱发送邮件就去哪个邮箱的设置里打开:

然后进行邮箱设置:

    // 发件人的邮箱地址和密码
    public static String sendEmailAccount = "你的QQ号@qq.com";

    // 如果有授权码,此处填写授权码
    public static String sendEmailPassword = "刚才设置的授权码";

    // 发件人邮箱的 SMTP 服务器地址, 可以登录web邮箱查询
    public static String sendEmailSMTPHost = "smtp.qq.com";

    // 收件人邮箱地址
    public static String receiveMailAccount = "接收邮件的[email protected]";
        // 参数配置
        Properties props = new Properties();
        props.setProperty("mail.transport.protocol", "smtp");
        props.setProperty("mail.smtp.host", sendEmailSMTPHost);
        props.setProperty("mail.smtp.auth", "true");
        props.setProperty("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
        props.setProperty("mail.smtp.port", "465");
        props.setProperty("mail.smtp.socketFactory.port", "465");
        // 根据配置创建会话对象,用于和邮件服务器交互
        Session session = Session.getDefaultInstance(props);
        session.setDebug(true);// 设置为debug模式,可以查看详细的发送log
        // 创建一封邮件
        Message message = createMimeMessage(session, sendEmailAccount, receiveMailAccount);
        // 根据Session获取邮件传输对象
        Transport transport = session.getTransport();
        // 使用 邮箱账号 和 密码 链接邮件服务器,这里认证的邮箱必须与 message 中的发件人邮箱一直否则会报错
        transport.connect(sendEmailAccount, sendEmailPassword);
        // 发送邮件
        transport.sendMessage(message, message.getAllRecipients());
        // 关闭账号
        transport.close();

然后,设置邮件内容:

        Message message = new MimeMessage(session);
		message.setFrom(new InternetAddress(sendMail));
		message.setRecipient(MimeMessage.RecipientType.TO, new InternetAddress(receiveMail));
		// 设置邮件标题
		message.setSubject("发送测试邮件");
		// 设置邮件正文
		message.setText("这里是测试内容,请忽略此内容详情.");
		
		
		MimeBodyPart text = new MimeBodyPart();
        text.setContent("此邮件为系统自动发送<img src='cid:a'><img src='cid:b'>","text/html;charset=gb2312");
        MimeBodyPart img = new MimeBodyPart();
        DataHandler dh = new DataHandler(new FileDataSource("D://screen.png"));//图片路径
        img.setDataHandler(dh);
        img.setContentID("a");
        MimeMultipart mm = new MimeMultipart();
        mm.addBodyPart(text);
        mm.addBodyPart(img);
        mm.setSubType("related");// 设置正文与图片之间的关系
        // 图班与正文的 body
        MimeBodyPart all = new MimeBodyPart();
        all.setContent(mm);
        MimeMultipart mm2 = new MimeMultipart();
        mm2.addBodyPart(all);
        mm2.setSubType("mixed");
        message.setContent(mm2);
		
		message.setSentDate(new Date());
		message.saveChanges();

		return message;

然后把这个java文件导出成可执行jar包,放在桌面:

在桌面创建一个do.bat文件

@echo off
cd..
cd C:\Users\你电脑的账户名\DeskTop
java -jar sendscreen.jar

创建一个vbs文件:

Set ws = CreateObject("Wscript.Shell")
ws.Run "C:\Users\你电脑的账户名\Desktop\do.bat",0

最后一步,设置开机启动项:

随便打开一个文件夹,在地址栏复制粘贴:

C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp

然后吧刚才那个.vbs文件放进去,就可以了。

项目所有的东西都打包上传了:下载地址

猜你喜欢

转载自blog.csdn.net/try_zp_catch/article/details/81220292
vbs