Cómo obtener la salida del proceso cuando se usa JNA y CreateProcessW
-
29-10-2019 - |
Pregunta
Estoy tratando de descubrir cómo leer el estándar/err del proceso que he creado con CreateProcessw. Miré los documentos, busqué en Google y busqué en esta lista, pero todavía no encontré buenos consejos/muestras :)
Esto es lo que se me ocurrió hasta ahora (está funcionando bien en Windows, es un fragmento relevante de mi código 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);
Entonces ... ¿cómo puedo obtener la salida de ese proceso? ¿Alguien ya ha hecho eso y cuida compartir una muestra?
Gracias chicos por cualquier ayuda de antemano.
No hay solución correcta
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow