Come ottenere l'output del processo quando si utilizza JNA e CreateProcessW
-
29-10-2019 - |
Domanda
Sto cercando di capire come leggere lo standard/err dal processo che ho creato con CreateProcessw. Ho guardato i documenti, ho cercato su Google e perquisito questo elenco ma non ho ancora trovato buoni puntatori/campioni :)
Ecco cosa mi è venuto in mente finora (funziona bene su Windows, è uno snippet pertinente dal mio codice Java):
Kernel32 kernel32 = (Kernel32) Native.loadLibrary("kernel32", Kernel32.class);
Kernel32.StartupInfo startupInfo = new Kernel32.StartupInfo();
Kernel32.ProcessInfo processInformation = new Kernel32.ProcessInfo();
if (!kernel32.CreateProcessW(null, new WString(command), null, null, false,
DETACHED_PROCESS, null, new WString(dir.getAbsolutePath()), startupInfo,
processInformation)) {
throw new IOException("Could not start process. Errno: " +
kernel32.GetLastError());
}
kernel32.CloseHandle(processInformation.hProcess);
kernel32.CloseHandle(processInformation.hThread);
Allora ... come posso prendere l'output da quel processo? Qualcuno l'ha già fatto e si cure condivide un campione?
Grazie ragazzi per qualsiasi aiuto in anticipo.
Nessuna soluzione corretta
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow