Otsikon mukaisesti, onko Javalla mitenkään mahdollista tunnistaa mitä ikkunoita on auki windowsin työpöydällä ja missä kohtaa työpöytää ne sijaitsevat?
Eaim. jos ainut windowsin tehtävälistassa aukioleva ohjelma olisi vaikkaopa calculator, koodi tunnistaisi tämän ja kenties vielä sen sijainnin työpöydällä.
Jos on mahdollista niin mitä luokkia käyttämällä moinen onnistuisi?
Javassa ei tarkoituksellisesti ole tukea käyttöjärjestelmäkohtaisille ominaisuuksille, joten tuo ei onnistu perusjavalla. Voit tietenkin koodata ikkunoiden havaitsemisrutiinin jollain windows-läheisellä kielellä (esim. C/C++/VB) ja käyttää javan natiivi-rajapintaa ajamaan tämä koodinpätkä.
Jotenkin nuin ajattelinkin sen menevän, mutta piti silti varmistaa :)
Kenelläkään olisi tietoa, onko jo olemassa aiheeseen liittyviä projekteja. Vai ihanko itse joutuisi vääntämään?
No tuollahan niitä on koodivinkeissä useampi kappale, ja varsinkin VB-alueen keskustelusta löytyy tapoja etsiä kaikki ikkunat ja sählätä niiden kanssa.
https://www.ohjelmointiputka.net/koodivinkit/
JNI on avainsana tämän ulkopuolisen koodin liittämiseksi Javaan. Parempaa ohjetta, kuin Sunin oma, en nyt löytänyt: http://java.sun.com/developer/onlineTraining/
Tuossa näytti olevan asian tekevä C-versio.
https://www.ohjelmointiputka.net/keskustelu/
JNI:stä toinen esimerkki, jossa tehdään läpinäkyvä ikkuna (vähän sekava esimerkki)
http://www.javaworld.com/javaworld/jw-10-1999/jw-10-jni.html
Aihe on jo aika vanha, joten et voi enää vastata siihen.