---
# System prepended metadata

title: cours
tags: [Système acces / libraries]

---

###### tags: `Système acces / libraries`

# cours 

chercher variables dans le système de l'ordinateur 

*Exemple :*
```
String sleep = System.getenv("sleep");
```

C:\windows\notepad.exe chemin du programme notepad est le chemin complet pour le notepad mais avec notepad il trouve car ça se trouve dans le PATH


## Librairie Dynamic/static
**Dynamic:**
avantage:x1mémoire
désavanatage:on ne peut pas copier un fichier parce qu'il peut avoir bcp de dépendances 


**static:**
avantage:on peut copier le fichier car toutes les librairies sont attaché
désavanatage: utilise plus de mémoire


## beep fonction


![](https://i.imgur.com/wJUQCyD.png)

`rundll32.exe Kernel32.dll Beep 50 `



## JNA avec la carte velleman

1. Ouvrir le logiciel dll export viewer
2. regarder les méthodes possible 
3. voir les signatures de ces méthodes dans le manuel
4. tester en JAVA dans netbeans


## USB Board 
 ```
public class K8055D {
    
    static
    {
    Native.register("K8055D.dll");
    }
    public static native int OpenDevice(int cardAddress);
    public static native void WriteAllDigital(int data);
    }
```

Main : 
```
public class Main {
    public static void main(String[] args) {
        K8055D.OpenDevice(0);
        K8055D.WriteAllDigital(80);
    }
}
```
Tips: 
- Enregistrer le fichier dll dans windows-system32 ou a l'emplacement du projet netbeans à côté du fichier pom.xml
- ne pas oublier de **build with dependencies**

