1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
|
try {
// Connexion a l'ordinateur
System.out.println("Connexion à l'ordinateur - En cours");
ActiveXComponent axWmi_Computer = new ActiveXComponent("WbemScripting.SWbemLocator");
Variant invoke_Computer = axWmi_Computer.invoke("ConnectServer", var_ParametresConnexion);
System.out.println("Connexion à l'ordinateur - Succès");
ActiveXComponent axWmi_ComputerClass;
Variant invoke_ComputerClassComponent;
// Connexion a la classe Win32_ComputerSystem
System.out.println("Connexion au système - En cours");
axWmi_ComputerClass = new ActiveXComponent(invoke_Computer.toDispatch());
invoke_ComputerClassComponent = axWmi_ComputerClass.invoke("InstancesOf", "Win32_ComputerSystem");
System.out.println("Connection au système - Succès");
Enumeration<Variant> enum_Proprietes;
ActiveXComponent ax_Proprietes;
enum_Proprietes = new EnumVariant(invoke_ComputerClassComponent.getDispatch());
while (enum_Proprietes.hasMoreElements()){ //Recherche Nom Ordinateur
ax_Proprietes = new ActiveXComponent(enum_Proprietes.nextElement().getDispatch());
jIF_FicheOrdinateur.set_WmiHostName(ax_Proprietes.getPropertyAsString("Name"));
// TODO gerer le cas ou nom different
break;
}
// Connexion a la classe Win32_BaseBoard
axWmi_ComputerClass = new ActiveXComponent(invoke_Computer.toDispatch());
invoke_ComputerClassComponent = axWmi_ComputerClass.invoke("InstancesOf", "Win32_BaseBoard");
enum_Proprietes = new EnumVariant(invoke_ComputerClassComponent.getDispatch());
while (enum_Proprietes.hasMoreElements()){
ax_Proprietes = new ActiveXComponent(enum_Proprietes.nextElement().getDispatch());
jIF_FicheOrdinateur.set_WmiSerial(ax_Proprietes.getPropertyAsString("SerialNumber"));
break;
}
// Connexion a la classe Win32_ComputerSystem
invoke_ComputerClassComponent = axWmi_ComputerClass.invoke("InstancesOf", "Win32_ComputerSystem");
enum_Proprietes = new EnumVariant(invoke_ComputerClassComponent.getDispatch());
String str_Utilisateur = null;
while (enum_Proprietes.hasMoreElements()){
ax_Proprietes = new ActiveXComponent(enum_Proprietes.nextElement().getDispatch());
str_Utilisateur = (ax_Proprietes.getPropertyAsString("UserName"));
break;
}
if (str_Utilisateur == null){
str_Utilisateur = "Session fermée";
}
jIF_FicheOrdinateur.set_SessionActive(str_Utilisateur);
ax_Proprietes = null;
enum_Proprietes = null;
invoke_ComputerClassComponent = null;
axWmi_ComputerClass = null;
axWmi_Computer = null;
}
catch(ComException e){
System.out.println(str_NomPc + ";Erreur COM;" + e.getMessage());
}
finally {
ComThread.Release();
} |
Partager