以编程方式使用C,C++或Java获取Java和Flash的版本号

Jor*_*tle 4 c c++ java flash version

我想找到计算机上安装的当前Java版本的版本号,以及任何具有闪存的Web浏览器上安装的Flash的当前版本.有没有办法使用Java,C或C++来做到这一点?如果是这样,我应该研究哪个类/库?

Evg*_*eev 6

如果你是Java

    System.out.println(System.getProperty("java.version"));
    System.out.println(System.getProperty("java.vendor"));
    System.out.println(System.getProperty("java.vm.name"));
Run Code Online (Sandbox Code Playgroud)

产量

1.7.0_03
Oracle Corporation
Java HotSpot(TM) Client VM
Run Code Online (Sandbox Code Playgroud)

有更多关于Java的道具

    for(Map.Entry e  : System.getProperties().entrySet()) {
        if (((String)e.getKey()).startsWith("java")) {
            System.out.println(e);
        }
    }
Run Code Online (Sandbox Code Playgroud)

.

java.runtime.name=Java(TM) SE Runtime Environment
java.vm.version=22.1-b02
java.vm.vendor=Oracle Corporation
java.vendor.url=http://java.oracle.com/
java.vm.name=Java HotSpot(TM) Client VM
java.vm.specification.name=Java Virtual Machine Specification
java.runtime.version=1.7.0_03-b05
....
Run Code Online (Sandbox Code Playgroud)

至于其他语言,我认为你可以通过%JAVA_HOME%/java -version从你的应用程序运行,阅读输出来做到这一点

java version "1.7.0_03"
Java(TM) SE Runtime Environment (build 1.7.0_03-b05)
Java HotSpot(TM) Client VM (build 22.1-b02, mixed mode, sharing)
Run Code Online (Sandbox Code Playgroud)

或者你可以像上面那样修改JavaProps应用程序,运行它%JAVA_HOME%/java JavaProps并读取输出