Verlanglijstje: Switch 2, PS5 Pro Most wanted: Switch 2
De manier waarop ik het gedaan heb is via JaCOB, ofwel de Java Com bridge, een project van danadler: http://danadler.com/jacob/index.html
Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.
Ehhh, ik ben pas recentelijk weer met Java aan de slag gegaan (en is ook de enige taal die ik naast PHP enigzins beheers). Ik kan helemaal geen COM componenten maken en ik heb nog nooit van JNI gehoord...
Kunnen jullie me iets concretere richtingen bieden?
[ Voor 12% gewijzigd door Deddiekoel op 06-09-2004 16:19 ]
Verlanglijstje: Switch 2, PS5 Pro Most wanted: Switch 2
[ Voor 19% gewijzigd door Alarmnummer op 06-09-2004 16:21 ]
I know, ik vind ook wel het een en ander over JNI maar ik heb nog steeds het idee dat ik een speld in een hooiberg aan het zoeken ben!
Verlanglijstje: Switch 2, PS5 Pro Most wanted: Switch 2
Maar als je nu eens probeert uit te vogelen of er een commandprompt commando bestaat om informatie over services op te vragen, dan kun je met Runtime.exec in elk geval een eindje komen.
Kijk voor meer informatie over Runtime.exec onder andere op http://jguru.com/faq/JNI (6e entry in de search van alarmnummer), daar staat een voorbeeldje bij hoe je hem kan gebruiken.
En in de javadoc natuurlijk.
Ik heb iets dat via de commandprompt werkt en ook runtime.exec() kennik. Ik zal eens gaan kijken hoe ik de uitvoer in Java kan krijgen.bigbeng schreef op 06 september 2004 @ 17:21:
Je wilt dan ook heel specifieke functionaliteit, dat komt er dan ook vaak bij kijken. Java is in principe platformonafhankelijk opgezet en niet ieder platform werkt met services (of op een andere manier).
Maar als je nu eens probeert uit te vogelen of er een commandprompt commando bestaat om informatie over services op te vragen, dan kun je met Runtime.exec in elk geval een eindje komen.
Kijk voor meer informatie over Runtime.exec onder andere op http://jguru.com/faq/JNI (6e entry in de search van alarmnummer), daar staat een voorbeeldje bij hoe je hem kan gebruiken.
En in de javadoc natuurlijk.
Verlanglijstje: Switch 2, PS5 Pro Most wanted: Switch 2
Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'
Zover ben ik inmiddels dus ook al gekomen. Ik heb de exec() aangeroepen en heb dus ook al een Process object. Het lukt me echter niet af te vangen wat dit process aan output genereerd.Janoz schreef op 07 september 2004 @ 10:32:
Mwah, lijkt me een simpel gevalletje API lezen. Als eerste kom je uit bij de exec methoden in Runtime om je commando uit te voeren. Deze levert een Process object op waarvan je vervolgens weer de std output en err op kunt vragen. Om alvast je volgende vraag te beantwoorden: Gebruik waitFor zodat je java programma wacht tot het cli tootltje klaar is.
Ik gebruik de "getInputStream()" methode en die levert mij een InputStream op. Maar hier zit ik vast. Ik weet niet hoe ik van een input stream naar een leesbaar stukje text kom. Ik gebruik momenteel om te testen "ipconfig" als commando voor Runtime.exec() methode.
[ Voor 4% gewijzigd door Deddiekoel op 07-09-2004 11:09 ]
Verlanglijstje: Switch 2, PS5 Pro Most wanted: Switch 2
Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'
Nu moet je me niet in de war brengen!Janoz schreef op 07 september 2004 @ 11:10:
Euhm, je wilt de output hebben van het cli tooltje toch?
Verlanglijstje: Switch 2, PS5 Pro Most wanted: Switch 2
1
2
3
4
5
6
7
8
| InputStream in = executedProcess.getInputStream();
while (true) {
int i = in.read();
if (i == -1) break;
char c = (char) i;
System.out.print(c);
} |
Verlanglijstje: Switch 2, PS5 Pro Most wanted: Switch 2
Verlanglijstje: Switch 2, PS5 Pro Most wanted: Switch 2
Ik raad je in elk geval aan om je in Streams in te lezen, er zijn veel handige truuks die je kunt toepassen als je hier wat meer kennis van hebt.
edit:
En als antwoord op je vraag, een character array heeft geen toString methode omdat het een primitieve variabele is (zoals int en long enzo). Vergeet dat ik dit zei, de toString bestaat wel, maar heeft een iets andere werking dan je zou verwachten. Je kunt echter wel een String maken dmv een char array. Zoek dit maar even op in de documentatie van Java, kijk bij de constructors.
[ Voor 29% gewijzigd door bigbeng op 08-09-2004 12:35 ]