【发布时间】:2016-02-26 19:00:25
【问题描述】:
如何在 Windows 8 上使用 javascritp 或 java 应用程序打开另一个程序
我需要从我的应用程序 windows 8 打开一个外部程序
【问题讨论】:
-
什么样的应用程序?
-
应用程序窗口 8
标签: javascript java pdf windows-8
如何在 Windows 8 上使用 javascritp 或 java 应用程序打开另一个程序
我需要从我的应用程序 windows 8 打开一个外部程序
【问题讨论】:
标签: javascript java pdf windows-8
如果它是一个可执行文件(.exe、.com、.msi 等),那么您可以尝试以下最简单的形式:
这里我们要打开Windows NotePAD:
try {
Process p = Runtime.getRuntime().exec("notepad.exe");
}
catch (IOException ex) {
//Do something here...
}
编辑:
Windows 应用程序和 PDF 文件之间有很大的不同。这通常就是为什么有人会问“你要打开什么”。 PDF 文件是一个关联文件,这意味着它可以通过特定的可执行应用程序查看或使用,例如 .txt 文件可以通过名为 NotePAD.exe 的可执行应用程序查看和使用。
要在 Windows 操作系统中查看关联文件,您需要确保关联文件已实际注册(关联)到您想要的特定应用程序。在您的情况下,您想要打开一个 PDF 文件。 Windows 可能具有与仅查看器应用程序相关联的 PDF 文件,如果意图是在查看 PDF 后像通过 Adobe Acrobat 那样实际编辑它,则该应用程序将毫无用处。您需要明确这一点,因为一个系统可能与一个系统相关联,而另一个系统与另一个系统相关联。
如果您想具体说明哪个应用程序打开了您的特定 PDF 文件,那么我提供的第一个示例可以正常工作,因为几乎所有 PDF 查看器和编辑器都将接受一个命令行,您可以在其中放置特定 PDF 的路径文件。但是,如果您仍然坚持使用 Windows 当前关联的应用程序,那么您可以这样做:
if (Desktop.isDesktopSupported()) {
try {
File myFile = new File("C:\\MyPDF_Files\\MyPDF.pdf");
Desktop.getDesktop().open(myFile);
}
catch (IOException | IllegalArgumentException ex) {
JOptionPane.showMessageDialog(null, "Either there is no application found "
+ "which is associatd with\nthe file you want to work with or the "
+ "file doesn't exist!\n\n"+ filePath,
"File Association Warning", JOptionPane.WARNING_MESSAGE);
}
}
希望对你有所帮助。
【讨论】: