mst*_*rap 8 java console process
两者的Runtime.exec()以及的ProcessBuilder似乎控制台连接到启动的进程.在Windows 7上,可以看到任务管理器中弹出conhost.exe.我的问题是,我正在尝试启动的C进程执行以下测试以确定它是否具有可以发出提示的控制台窗口:
HANDLE cons = CreateFile("CONOUT$", GENERIC_WRITE,
FILE_SHARE_WRITE, NULL, OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL, NULL);
if (cons != INVALID_HANDLE_VALUE) {
// Prompt user; this makes my application hang
}
Run Code Online (Sandbox Code Playgroud)
是否有可能使用Java以上层测试失败的方式启动C进程以避免提示?
尝试这个:
ProcessBuilder pb = new ProcessBuilder( "cmd", "/C start /B myprogram.exe param1 param2" );
Run Code Online (Sandbox Code Playgroud)
该/B标志告诉start不要创建一个新的控制台,尽管我不知道从 Java 调用时它本身是否start最终会分配一个控制台。