gpt4 book ai didi

java - 如何在Java上检索显卡信息?

转载 作者:可可西里 更新时间:2023-11-01 17:37:05 25 4
gpt4 key购买 nike

有没有什么方法可以使用 Java API 检索我的显卡适配器的信息?

我知道 DirectX 可以轻松做到这一点,但是,我只是想知道 Java 是否可以做到这一点......?

如下图所示.. DirectX 找到集成到我的硬件中的 GPU 适配器,以及它支持的分辨率列表。

我的问题是,是否有 Java 可以执行此类操作的 API?我真的很想知道 Java 是否能够获取有关视频卡的信息。

enter image description here

谢谢。

最佳答案

正如@Sergey K. 在他的回答中所说,有几种方法可以做到这一点。其中之一是使用 dxdiag 工具(显然它只能在 Windows 上工作),特别是 dxdiag/t 变体,它将输出重定向到给定文件。然后您可以处理该文件以获取所需的信息:

public static void main(String[] args) {        
try {

String filePath = "./foo.txt";
// Use "dxdiag /t" variant to redirect output to a given file
ProcessBuilder pb = new ProcessBuilder("cmd.exe","/c","dxdiag","/t",filePath);
System.out.println("-- Executing dxdiag command --");
Process p = pb.start();
p.waitFor();

BufferedReader br = new BufferedReader(new FileReader(filePath));
String line;
System.out.println(String.format("-- Printing %1$1s info --",filePath));
while((line = br.readLine()) != null){
if(line.trim().startsWith("Card name:") || line.trim().startsWith("Current Mode:")){
System.out.println(line.trim());
}
}
} catch (IOException | InterruptedException ex) {
ex.printStackTrace();
}

}

生成的文件如下所示:

enter image description here

输出看起来像这样:

-- Executing dxdiag command --
-- Printing ./foo.txt info --
Card name: Intel(R) HD Graphics Family
Current Mode: 1366 x 768 (32 bit) (60Hz)

关于java - 如何在Java上检索显卡信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18379091/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com