[java] String "schrijven naar iets buiten het programma".

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • bronce
  • Registratie: Januari 2011
  • Laatst online: 23:00
Allereest wil ik zeggen dat ik hier geprobeerd heb naar te zoeken maar ik wist niet hoe ik er naar moest zoeken daarom open ik dit topic.

Ik heb bijvoorbeeld een methode die een string retourneerd. Hoe kan ik dit nu schrijven naar bijvoorbeeld de zoekfunctie van windows?
Is dit wel mogelijk?

Ik zou niet weten hoe ik dit moet aanpakken dus een steuntje in de goede richting of wat handige zoektermen en ik kom er wel uit.

Acties:
  • 0 Henk 'm!

  • gehlan
  • Registratie: Maart 2004
  • Laatst online: 13-04-2022

Acties:
  • 0 Henk 'm!

  • Cobalt
  • Registratie: Januari 2004
  • Laatst online: 08-10 18:51
Veel, (vrijwel alle) functies van windows kan je via command line aan spreken. Je kan vanuit jouw applicatie met de class ProcessBuilder een class Process maken, die je vervolgens kan starten. Waarna je input via een inputstream aan het process kan geven en de text output krijg je via een outputstream. Sommige acties vereisen adminrechten, daarvoor kan je een klein C programmaatje schrijven (je kan ook zoeken naar ShellExecuteEx of Elevate.exe van Johannes Passing ( http://jpassing.com/2007/...es-from-the-command-line/)) welke de gebruiker vraagt om deze rechten toe te kennen aan 't process dat je start.

Informatie over alle functies en libraries van windows zou je op http://msdn.microsoft.com moeten kunnen vinden.

Je zou het ook via de JNI kunnen doen. Is misschien wat netter. Je maakt dan een functie in C welke de gewenste functie van een dll aanspreekt of native implementatie van jouw algoritme bevat, of iets anders. Deze functie in C heeft in jouw Java klasse een interface. Bijv. public native String[] search(String keyword); En dan kan je vanuit jouw Java code gewoon search("example"); aanroepen. Als je naar JNI zoekt vind je daar genoeg over.

[ Voor 88% gewijzigd door Cobalt op 24-01-2011 01:16 ]


Acties:
  • 0 Henk 'm!

  • bronce
  • Registratie: Januari 2011
  • Laatst online: 23:00
Oke bedankt voor de reacties.
Heb ik weer wat leesvoer ;) .

Acties:
  • 0 Henk 'm!

  • Davio
  • Registratie: November 2007
  • Laatst online: 06-01 16:46
Als je .NET zou gebruiken, zou het misschien makkelijk kunnen om de Windows API erbij te pakken en aan te spreken via DLLImport.

Ik weet niet hoe dat zit/kan met Java.

Acties:
  • 0 Henk 'm!

  • bronce
  • Registratie: Januari 2011
  • Laatst online: 23:00
Ik heb al een oplossing gevonden.
Doormiddel van de klasse Runtime uit de klassenbibliotheek kun je onder ander windows commando's uitvoeren en parameters meegeven.

public Process exec(String[] cmdarray)
cmdarray - array containing the command to call and its arguments.
Pagina: 1