【问题标题】:how to save open unsaved notepad files using java application如何使用java应用程序保存打开的未保存的记事本文件
【发布时间】:2015-12-09 10:51:04
【问题描述】:

如何使用 java 保存未保存的记事本文件? 该记事本文件不是由我的程序创建的。 条件是只打开一个记事本文件。 我使用过 Process 和 Runtime 类,但不知道如何保存文件,因为我不知道文件的路径。

【问题讨论】:

  • 所以...你想打开一个还不存在的文件?
  • 因为我不知道文件的路径因为还没有路径?
  • 文件没有被程序打开
  • 一些 xyz 应用程序创建了记事本文件,我想保存这个文件
  • 这个文件可以保存吗????

标签: java


【解决方案1】:

一些帮助,但在 C/C++/C# 中执行它会更健壮!

1 您必须找到您的记事本应用程序。

这很容易,当然。看到这个:Find out what application (window) is in focus in Java

您可以使用 JNI 或 JNA。

2 如果您知道您的应用程序在哪里,请发送 ctrl^s :请参阅此以将击键发送到应用程序。如果当前内部没有任何操作,它可以工作:

Robot robot = new Robot();
robot.mouseMove(100, 100);
robot.mousePress(InputEvent.BUTTON1_MASK);
robot.mouseRelease(InputEvent.BUTTON1_MASK);
 robot.keyPress(KeyEvent.VK_CONTROL);
 robot.keyPress(KeyEvent.VK_S);
 robot.keyRelease(KeyEvent.VK_S);
 robot.keyRelease(KeyEvent.VK_CONTROL);

How to programmatically send a key event to any window/process in a Java App?

注意:

  • 如果记事本在屏幕前面,它就可以工作。否则
  • 如果文件已经有名称,它可以工作。如果没有,它只会打开一个对话框来选择文件。您也可以发送文件名。

【讨论】:

    猜你喜欢
    • 2017-04-06
    • 1970-01-01
    • 2013-05-18
    • 1970-01-01
    • 2011-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多