Πρόγραμμα σε Java
- mikros
- byte level
- Posts: 127
- Joined: Wed Nov 09, 2005 8:08 pm
- Academic status: Alumnus/a
- Gender: ♂
- Location: somewhere in the world
- Contact:
Πρόγραμμα σε Java
Θα ήθελα να ρωτήσω ποσο ευκολο ειναι να δημιουργήσω ένα προγραμμα το οποιο θα μπορει να χειριζεται ορισμενα αλλα προγραμματα π.χ. firefox.
οι λειτουργίες που χρειάζομαι ειναι :
1) ανοιγμα toy firefox
2) open a page
3) enter a hot key
4) κλεισιμο του firefox
Ποια κεφαλαια της Java απαιτούνται;
οι λειτουργίες που χρειάζομαι ειναι :
1) ανοιγμα toy firefox
2) open a page
3) enter a hot key
4) κλεισιμο του firefox
Ποια κεφαλαια της Java απαιτούνται;
- Einherjar
- Venus Project Founder
- Posts: 3751
- Joined: Tue Jan 27, 2004 4:42 pm
- Academic status: Alumnus/a
- Gender: ♂
- Location: Washington DC, USA
- Contact:
Είναι πολύ φλού αυτά που λες. Μπορεί να είναι από πολύ εύκολο έως μη εφικτό. Για να ανοίξεις (και να κλείσεις?) ένα πρόγραμμα χρησιμοποιείς το αντικείμενο Runtime της Java. Για τα 2,3 δε μπορώ να σκεφτώ κάτι (το 3 δε το πιάνω καθόλου).
Αυτό που θα σου πρότεινα θα ήταν να φτιάξεις ένα extention για τον firefox το οποίο θα ανοίγει ένα socket και θα "ακούει" για εντολές από άλλα προγράμματα που θα συνδέονται με αυτό και στη συνέχεια θα τις εκτελεί στον firefox.
Αυτό που θα σου πρότεινα θα ήταν να φτιάξεις ένα extention για τον firefox το οποίο θα ανοίγει ένα socket και θα "ακούει" για εντολές από άλλα προγράμματα που θα συνδέονται με αυτό και στη συνέχεια θα τις εκτελεί στον firefox.
[Better to understand a little than to misunderstand a lot]
Το 1,2,4 νομιζω τα πετυχαινεις με το Runtime.exec καθως και με μια URL κλαση ( δεν θυμαμαι ποια και που ειναι ) που μπορει να κανει κληση στο λειτουργικο να ανοιξει ενα link στον default browser.
Mαλλον Runtime.exec( cmd.exe /C start http://blahblahblah )
Or
org.jdesktop.jdic.desktop.Desktop.browse(java.net.URL)
Mαλλον Runtime.exec( cmd.exe /C start http://blahblahblah )
Or
org.jdesktop.jdic.desktop.Desktop.browse(java.net.URL)
- tsilochr
- Wow! Terabyte level
- Posts: 3246
- Joined: Tue Mar 16, 2004 2:47 pm
- Academic status: PhD
- Gender: ♂
- Location: mm.aueb.gr
- Contact:
δεν το έχω δουλέψει αλλά το πιο πιθανό είναι το εξής:
- να βρεις με ποια κλάση της Java εκτελείς εντολές του λειτουργικού (απότι βλέπω τα παιδιά λένε την Runtime)
- στη συνέχεια να δεις τι command line ορίματα παίρνει το πρόγραμμα που θες να εκτελέσεις
o firefox για παράδειγμα παίρνει όρισμα το Url που θα ανοίξει. Κάνε start -> run- -> firefox.exe "www.aueb.gr" (αν έχεις ήδη ανοιχτό forefox θα ανοίξει νέο tab)
- να βρεις με ποια κλάση της Java εκτελείς εντολές του λειτουργικού (απότι βλέπω τα παιδιά λένε την Runtime)
- στη συνέχεια να δεις τι command line ορίματα παίρνει το πρόγραμμα που θες να εκτελέσεις
o firefox για παράδειγμα παίρνει όρισμα το Url που θα ανοίξει. Κάνε start -> run- -> firefox.exe "www.aueb.gr" (αν έχεις ήδη ανοιχτό forefox θα ανοίξει νέο tab)
- tsilochr
- Wow! Terabyte level
- Posts: 3246
- Joined: Tue Mar 16, 2004 2:47 pm
- Academic status: PhD
- Gender: ♂
- Location: mm.aueb.gr
- Contact:
οκ το έψαξα λίγο στο web, δεν έχει τύχει να το κάνω ποτέ αλλά η λογική μάλλον είναι η παρακάτω:
Η κλήση της Runtime.exec() επιστρέφει αναφορά σε αντικείμενο τύπου Process που αναπαριστά μια διεργασία του λειτουργικού. Απότι βλέπω η τάξη Process χρησιμποποιείται για να ελέγξεις την διεργασία. Δες και τις μεθόδους που σου παρέχει, παρέχει τα ρεύματα για είσοδο/έξοδο δεδομένων προς/από την διεργασία και άλλα.
Φαντάζομαι ότι θα καταλήξεις να κάνεις κάτι του στυλ
δες και τα Java Docs
Η κλήση της Runtime.exec() επιστρέφει αναφορά σε αντικείμενο τύπου Process που αναπαριστά μια διεργασία του λειτουργικού. Απότι βλέπω η τάξη Process χρησιμποποιείται για να ελέγξεις την διεργασία. Δες και τις μεθόδους που σου παρέχει, παρέχει τα ρεύματα για είσοδο/έξοδο δεδομένων προς/από την διεργασία και άλλα.
Φαντάζομαι ότι θα καταλήξεις να κάνεις κάτι του στυλ
Code: Select all
Process myProc = Runtime.getRuntime.exec("firefox.exe \"www.aueb.gr\"");
\\και στο χειρισμό πχ του Ctrl+T
\\ίσως δοκιμάσεις κάτι του στυλ
OutputStream outStr = myProc.getOutputStream(); //θες ouptutStream για να στείλεις data προς την διεργασία
ouStr.write('Ctrl+T'.σεΜορφήByte());
- mikros
- byte level
- Posts: 127
- Joined: Wed Nov 09, 2005 8:08 pm
- Academic status: Alumnus/a
- Gender: ♂
- Location: somewhere in the world
- Contact:
κοιτάω αυτό εδώ http://www.tbdev.net/index.php?showforum=35 username=ego.eimai password=delta1
αλλα μάλλον δεν πιανει... εκτος κανω κατι εγω λαθος...
το ιδιο ισχυει και για αυτο που προτεινες...
το θέμα είναι το action που θα γίνεται να μην γινεται listen μόνο εσωτερικά στο προγραμμα java αλλα σε ολα τα windows...
αλλα μάλλον δεν πιανει... εκτος κανω κατι εγω λαθος...
το ιδιο ισχυει και για αυτο που προτεινες...
το θέμα είναι το action που θα γίνεται να μην γινεται listen μόνο εσωτερικά στο προγραμμα java αλλα σε ολα τα windows...