gpt4 book ai didi

Java:如何执行未附加到 Windows 控制台的进程?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:57:15 25 4
gpt4 key购买 nike

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
}

Java有没有可能为了避免提示,以上层测试失败的方式启动C进程?

最佳答案

至少在 OpenJDK 6 上,CreateProcess is being called with CREATE_NO_WINDOW .我想 Sun JDK 的代码非常相似。这让我想知道是否有其他原因导致该控制台出现。您是否尝试过使用 javaw.exe 而不是 java.exe 来运行您的程序?

跳出框框思考,也许 JGit是解决您的特定问题的更好方法。

关于Java:如何执行未附加到 Windows 控制台的进程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7534096/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com