酷炫的 Java 程序






4.14/5 (5投票s)
这些是 Java 程序,用于在不进行物理输入的情况下在计算机上进行输入、屏幕截图、自动下载器等。
引言
这包括 Java 程序,用于
- 在不进行物理输入的情况下在计算机上进行输入
- 屏幕截图
- 自动下载器
- 列出任务管理器中的所有进程
- 获取和设置剪贴板数据
Using the Code
1) 在不进行物理输入的情况下在计算机上进行输入
第一个程序打开一个像记事本这样的编辑器,我们的程序将在其中自动输入。这是通过
Runtime.getRuntime().exec("notepad.exe");
现在我们让我们的程序在记事本中输入。为此,我们使用 Robot
类
Thread.sleep(2000);
Robot r=new Robot();
r.keyPress(KeyEvent.VK_T);
Thread.sleep(500);
r.keyPress(KeyEvent.VK_H);
Thread.sleep(500);
r.keyPress(KeyEvent.VK_I);
Thread.sleep(500);
r.keyPress(KeyEvent.VK_S);
Thread.sleep(500);
r.keyPress(KeyEvent.VK_SPACE);
Thread.sleep(500);
r.keyPress(KeyEvent.VK_I);
Thread.sleep(500);
r.keyPress(KeyEvent.VK_S);
Thread.sleep(500);
r.keyPress(KeyEvent.VK_SPACE);
Thread.sleep(500);
r.keyPress(KeyEvent.VK_F);
Thread.sleep(500);
r.keyPress(KeyEvent.VK_U);
Thread.sleep(500);
r.keyPress(KeyEvent.VK_N);
引入 2 秒的启动延迟,以便记事本有机会打开,并且我们的程序写入记事本而不是其他地方。
在每个字母之后,我们引入了 0.5 秒的延迟,使其看起来像有人正在输入。
2) 屏幕截图
对于这个,我们也将使用 Robot
类
Dimension size = Toolkit.getDefaultToolkit().getScreenSize();
Robot robot = new Robot();
BufferedImage img = robot.createScreenCapture(new Rectangle(size));
File save_path=new File("screen.jpg");
ImageIO.write(img, "JPG", save_path);
这里 Dimension
获取您的屏幕尺寸,并将 dimension
放入 size
变量中。createScreenCapture
函数截取屏幕截图。ImageIO.write
负责将屏幕截图写入 JPG 文件。
3) 自动下载器
这是一个使用 Java 下载文件的简单 Java 程序
System.out.println("Enter the url to download from:");
BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
String site = input.readLine();
System.out.println("Enter filename");
BufferedReader input1 = new BufferedReader(new InputStreamReader(System.in));
String filename = input.readLine();
java.io.BufferedInputStream in = new java.io.BufferedInputStream(new
java.net.URL(site).openStream());
java.io.FileOutputStream fos = new java.io.FileOutputStream(filename);
java.io.BufferedOutputStream bout = new BufferedOutputStream(fos,1024);
byte[] data = new byte[1024];
int i=0;
while((i=in.read(data,0,1024))>=0)
{
bout.write(data,0,i);
}
这里,首先需要提供要下载的文件的 URL。现在您需要指定它将保存的文件名,例如 .zip。这里 in
变量用于读取从 URL 获取的数据,然后使用 bout
将此数据写入您的系统。
4) 任务管理器进程
列出任务管理器中所有活动进程非常容易。只需使用此程序
String line;
Process p = Runtime.getRuntime().exec("tasklist.exe");
BufferedReader input =
new BufferedReader(new InputStreamReader(p.getInputStream()));
while ((line = input.readLine()) != null) {
System.out.println(line); //<-- Parse data here.
}
input.close();
这里 tasklist.exe 为我们提供了所有正在运行的进程。我们将所有结果存储在变量 input
中,稍后将其列出到输出控制台。
5) 剪贴板详情
获取和设置剪贴板数据非常容易。这是一个示例
Transferable t = Toolkit.getDefaultToolkit().getSystemClipboard().getContents(null);
if (t != null && t.isDataFlavorSupported(DataFlavor.stringFlavor)) {
String text = (String)t.getTransferData(DataFlavor.stringFlavor);
System.out.println("Current ClipBoard data is:\n"+text);
text="I changed clipboard text";
StringSelection ss = new StringSelection(text);
Toolkit.getDefaultToolkit().getSystemClipboard().setContents(ss, null);
System.out.println("Changed ClipBoard data is:\n"+text);
}
这个程序首先检索当前的剪贴板内容,显示它,然后更改它。
关注点
Robot
类也可以用来获取像素信息,甚至可以模拟鼠标点击。
Runtime.getRuntime.exec()
赋予 Java 直接执行 Windows 应用程序的能力。
剪贴板程序可以进一步增强,这可以帮助您制作一个好的桌面应用程序。
历史
- 2011 年 7 月 17 日:初始版本