Windows programmering i Java?

Indlæg af Hanne Mølgaard Plasc

Problem



Hvad er en nem at lære ramme eller teknik til Windows-programmering (calling win32 api) i Java?


Jeg skal være i stand til at få adgang til windows api til at gøre ting som sende tastetryk, åbne programmer, genstart windows osv.

Bedste reference


For at sende tastetryk, kan du bruge java java.awt.Robot, og til åben applikation er java.lang.ProcessBuilder der. Der API er os uafhængige.


Og for at genstarte Windows, kan du også bruge ProcessBuilder til at kalde 'shutdown' kommando, se her.
Luk Windows med Java

Andre referencer 1


Det nemmeste for mig har været at lave små hjælpeprogrammer med AutoIt version 3 og derefter få mine Java-programmer til at ringe til disse hjælpeprogrammer. Programmerne kan kommunikere via input og output streams. Hvis jeg vil dybere dybere i Windows, er JNA vejen at gå, og der er mange eksempler på hvordan man bruger dette her og på sit websted. JNI er en anden måde (JNA bruger JNI faktisk), men jeg finder det sværere, da min C er ret rusten.




Mange har foreslået at bruge et robotobjekt, men det problem, jeg har haft med at bruge Robot, er at du ikke kan tælle de ikke-Java-vinduer og derefter aktivere det ønskede vindue alene via Java. Du kan heller ikke interagere direkte med vinduet styrer som du kan med JNA og med AutoIt.