很多的时候,我们需要使用teamview进行
远程登录。
比如现在我的环境就是有一台电脑A,使用双网卡实现登录,这个电脑也做了自动报表相关的业务,比如指定时间把制作好的报表发到指定邮箱。而且这台电脑也承担了邮件服务的功能。
那么如果自己出差在外地,怎么能够实现特定的需求,获取现在的teamview的登录信息进行登录呢?
下面就是我实现的方法。
1,采用java的运行cmd方式将teamview程序运行起来,然后再使用截屏的工具把屏幕截取下来到指定文件夹。
2,使用java调用ftp将文件发送到制定网络的ftp服务器上(未做)。
----------------------------------------------------
一下是相关代码:
class="java" name="code">package com.duduli.li;
import java.awt.Dimension;
import java.awt.Rectangle;
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.imageio.ImageIO;
public class CaptureScreen {
public static void captureScreen(String fileName, String folder)
throws Exception {
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
Rectangle screenRectangle = new Rectangle(screenSize);
Robot robot = new Robot();
BufferedImage image = robot.createScreenCapture(screenRectangle);
// 截图保存的路径
File screenFile = new File(fileName);
// 如果路径不存在,则创建
if (!screenFile.getParentFile().exists()) {
screenFile.getParentFile().mkdirs();
}
// 判断文件是否存在,不存在就创建文件
if (!screenFile.exists() && !screenFile.isDirectory()) {
screenFile.mkdir();
}
File f = new File(screenFile, folder);
ImageIO.write(image, "png", f);
// 自动打开
/*
* if (Desktop.isDesktopSupported() &&
* Desktop.getDesktop().isSupported(Desktop.Action.OPEN))
* Desktop.getDesktop().open(f);
*/
}
public void runPocess() throws IOException {
Process process = Runtime.getRuntime().exec(
"C:/Program Files (x86)/TeamViewer/TeamViewer.exe");
}
public static void main(String[] args) throws IOException, InterruptedException {
new CaptureScreen().runPocess();
new Thread().sleep(60000);
Date dt = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyyMMddHHmmss");
String data = sdf.format(dt);
String rd = sdf1.format(dt);
try {
captureScreen("c:\\" + data, rd + ".png");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
使用定时任务进行的bat。
java -jar c:\cutsrcreen.jar
实现后台运行的vbs
createobject("wscript.shell").run "c:\run.bat",0
其后将实现
1,远程运行(因为电脑并非是固定ip所以可能借助工具)。
2,服务器上FTP搭建。
3,java实现图片ftp上传。