如何在Windows上使用Java在默认图像查看器中打开图像?

Brian T Hannan:

我有一个用于查看附加到日志条目的图像的按钮,当用户单击该按钮时,我希望它在Windows机器上的用户默认图像查看器中打开图像吗?

我如何知道默认图像查看器中的哪个查看器?

现在我正在做这样的事情,但它不起作用:

String filename = "\""+(String)attachmentsComboBox.getSelectedItem()+"\"";
Runtime.getRuntime().exec("rundll32.exe C:\\WINDOWS\\System32\\shimgvw.dll,ImageView_Fullscreen "+filename);

通过不起作用,我的意思是它什么也没做。我试图仅在命令行中运行命令,但没有任何反应。没错,没事。

RealHowTo:

尝试使用CMD / C START

public class Test2 {
  public static void main(String[] args) throws Exception {
    String fileName = "c:\\temp\\test.bmp";
    String [] commands = {
        "cmd.exe" , "/c", "start" , "\"DummyTitle\"", "\"" + fileName + "\""
    };
    Process p = Runtime.getRuntime().exec(commands);
    p.waitFor();
    System.out.println("Done.");
 }
}

这将启动与文件扩展名关联的默认照片查看器。

更好的方法是使用java.awt.Desktop。

import java.awt.Desktop;
import java.io.File;

public class Test2 {
  public static void main(String[] args) throws Exception {
    File f = new File("c:\\temp\\test.bmp");
    Desktop dt = Desktop.getDesktop();
    dt.open(f);
    System.out.println("Done.");
 }
}

请参阅启动与文件扩展名关联的应用程序

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在Android的默认图像查看器中打开图像

Python:在默认图像查看器中打开多个图像

如何编写一种在C#中打开图像的方法,该方法将使用移动设备上的默认图像查看器...?

如何通过提供文件路径在默认的图像查看器中打开图像?

无法使用照片的URI在Android的默认图像查看器中打开捕获的照片

如何从默认的图像查看器中裁剪?

如何通过默认图像查看器在Facebook上共享图像

如何在Windows®7图像查看器中删除该讨厌的颜色层?

在Tumblr上启用默认的图像查看器

Android在默认图库查看器中显示图像

使用默认的android图像查看器显示图片

更改默认图像查看器

使用查看器在不同的列表中显示相同的图像

如何在Ubuntu 13.10上使用文档查看器打开pdf文件

在使用图像查看器(GNOME的眼睛)的目录打开多个图像

在 React 中与 img 标签一起使用时,图像会旋转;使用 Windows 查看器打开时看起来不错

如何在Windows照片查看器上刷新图片?

如何使图像页面查看器的图像迅速iOS

如何在PowerShell(在Windows 10上)中阅读最新的Chkdsk事件查看器日志?

卸载图像查看器

用于多个图像的图像查看器

如何在媒体查看器中垂直设置样本图像缩略图栏?

如何在另一个活动中从uri设置导航抽屉查看器的图像

OSX 上的 Python 图像查看器叫什么?

如何向下滑动图像并在数组中显示图像的URL?(本机图像查看器)

如何在反应原生网格图像查看器中传递动态获取的图像数组数据和反应原生中的标题

如何在php项目中集成iiif图像查看器?

如何在Debian 8.5上更改默认的.ppt查看器?

如何获得支持 JPEG 2000 的图像查看器?