# Hardwareinformationen durch Java auslesen



## fastjack (8. Sep 2010)

Weis jemand, ob man ausführliche Hardwareinformationen eines PC's, also Infos zu Hardware, die verbaut wurde, in Java auslesen kann? Kennt jemand eine entsprechenden API?


----------



## VfL_Freak (8. Sep 2010)

Moin,

falls Du von Windows spricht, wirst Du wohl weitgehend das JNI bemühen müssen, da Java dies selbst nicht wirklich kann !

Gruß
Klaus


----------



## fastjack (8. Sep 2010)

Danke, kennst Du da vielleicht schon fertige Apis?


----------



## VfL_Freak (8. Sep 2010)

Moin,



fastjack hat gesagt.:


> Danke, kennst Du da vielleicht schon fertige Apis?



ääh ???:L
Was genau meinst Du ??
JNI *IST* die API ...

Gruß
Klaus


----------



## fastjack (9. Sep 2010)

Das JNI eine API ist weis ich selber, das man es sich damit selbst programmieren kann auch... Aber kennst Du eine API, die zum Auslesen von Hardwareinformation (Windows/Linux) bereits vorgefertigte Methoden bietet? Sowas muß es doch irgendwo geben...


----------



## VfL_Freak (9. Sep 2010)

Moin,



fastjack hat gesagt.:


> Aber kennst Du eine API, die zum Auslesen von Hardwareinformation (Windows/Linux) bereits vorgefertigte Methoden bietet? Sowas muß es doch irgendwo geben...



nein, so direkt nicht, aber mit 
Hardware Information auslesen - Google-Suche
(event. auch mal um die Stichworte "Windows", "Linux" oder "API" erweitern)
sollte sich doch eigentlich etwas finden lassen, das Du für Deine Zwecke benötigst ...

Das einzige, was ich hier unter Java mache, ist das ermitteln der MAC-Adresse des Rechners auf recht schnöde Weise, die aber funktioniert :

```
String strMACAdr = "";
try
{
    ProcessBuilder pb = new ProcessBuilder( "ipconfig", "/all" );
    pb.redirectErrorStream( true );
    Process p = pb.start();
    p.getOutputStream().close(); // close Process' stdin
    BufferedReader r = new BufferedReader( new InputStreamReader(p.getInputStream()) );
                     
    String strLine = "";
    while( (strLine = r.readLine()) != null ) 
    {
        if( strLine.trim().startsWith("Physikalische Adresse") )
        {
            strMACAdr = strLine.trim().substring( 36 );
            break;
        }
    }
}
```

Gruß
Klaus


----------



## Guybrush Threepwood (9. Sep 2010)

Vielleicht hilft Operating System and Hardware Information (Java) (Windows). Es gibt aber noch andere Bibliotheken. Ich hatte for 2 Jahren ein ähnliches Problem und irgendwo im Netz gab es dazu Sachen.

Edit:
Ach ja, das andere war Sigar (SIGAR API (System Information Gatherer and Reporter) | Hyperic)


----------



## homer65 (9. Sep 2010)

Wenn es um Linux geht.
Da gibt es die Befehle lspci bzw lsusb.
Und das /proc Verzeichnis enthält lauter interessante Infos, die man wie eine normale Datei auslesen kann.
Z.B. cat /proc/cpuinfo gibt dir ausführliche Infos über deine CPU.


----------

