相关疑难解决方法(0)

如何使用Windows程序在C++中获得控制台输出?

如果我有一个本机C++ Windows程序(即入口点是WinMain),我如何查看控制台函数的输出,如std :: cout?

c++ windows console

30
推荐指数
7
解决办法
7万
查看次数

编程为控制台和GUI

是否有可能(如果是这样,我如何)使用Delphi 2007将单个程序作为控制台应用程序和GUI版本工作?

我所追求的是,​​如果程序使用适当的命令行选项运行,它应该用作控制台程序,使用WRITELN将输出打印到控制台,但如果没有给出命令行参数,它应该作为普通Delphi运行GUI应用程序?

问题是当作为控制台应用程序运行时,命令行解释程序在允许您输入新命令之前等待应用程序终止,而从命令行启动的GUI应用程序会立即返回到命令行和GUI应用程序在分离的过程中启动.我希望保留这种行为.

我不介意这样的事情:

如果GUI那么StartApplicationAsGUI(ParamStr(0))

即.我不介意我必须使用某种形式的EXECUTE调用重新启动应用程序,以便在GUI模式下启动它(如果需要),只要命令行界面在GUI版本启动时返回到命令行输入即可.

我更喜欢一个解决方案/建议:

<Parse Comnand Line>
IF ConsoleMode THEN
   RunConsole(参数)
ELSE BEGIN
   Application.Initialize;
   Application.CreateForm(...)
   Application.Run;
结束

(反之亦然,即如果GUI模式以特殊方式做事)

这样我在制作GUI界面时仍然可以使用Delphi的IDE和VCL ......

delphi console user-interface

24
推荐指数
3
解决办法
6796
查看次数

使用AttachConsole,用户必须按Enter键才能获得常规命令行

我有一个progaram,既可以作为winform运行,也可以从命令行运行.如果从命令行调用它,我调用AttachConsole(-1)以附加到父控制台.

但是,在我的程序结束后,用户必须按Enter键才能返回标准命令提示符("c:\>").有没有办法避免这种需要?

谢谢.我可以将它包装在一个cmd文件中,以避免这个问题,但我想从我的exe中做到这一点.

c# console

21
推荐指数
3
解决办法
5865
查看次数

Win32编程隐藏控制台窗口

我正在学习C++,我制作了一个新程序,我删除了一些代码,现在我的控制台窗口不会隐藏有没有办法让它在启动时隐藏,而不会看到它

c c++ windows console winapi

16
推荐指数
5
解决办法
3万
查看次数

在Golang中使用Exec时如何隐藏命令提示符窗口?

说我有以下代码,syscall用于隐藏命令行窗口

process := exec.Command(name, args...)
process.SysProcAttr = &syscall.SysProcAttr{HideWindow: true}
err := process.Start()
if err != nil {
    log.Print(err)
}
Run Code Online (Sandbox Code Playgroud)

但是当我编译它并尝试在Windows中运行它时,命令行窗口再次出现

我该怎么做才能防止命令行窗口出现?

PS我已经知道如何使用golang源编译成Windows GUI可执行文件go build -ldflags -H=windowsgui,但这样做只能确保程序本身不会Exec显示命令行窗口,无论如何都会显示那些窗口

windows command-line system-calls go

7
推荐指数
3
解决办法
3126
查看次数

如何在GUI应用程序中写入控制台

背景:我们开发了win32应用程序,并在Windows上使用"Thompson Toolkit"为我们提供了一个类似于unix的shell,我们将它们用作命令行.

我们有一个GUI程序(带有WinMain和消息循环),我们想要写入控制台,但printf等不起作用,即使我们从控制台启动程序.我们如何从GUI程序写入控制台?我们需要在那里打印文本,以便自动构建系统可以显示错误消息等.

谢谢.

windows winapi console-application

6
推荐指数
1
解决办法
5165
查看次数

如何从命令行启动的GUI应用程序写入StdOut?

我正在Delphi 7中编写一个标准的Windows应用程序.

如果我正在编写控制台应用程序,我可以调用以下内容输出到cmd行或输出文件.

writeln('Some info');
Run Code Online (Sandbox Code Playgroud)

如果我从我从命令行启动的标准GUI应用程序执行此操作,则会出现错误.

I/O Error 105
Run Code Online (Sandbox Code Playgroud)

必须有一个简单的解决方案来解决这个问题.基本上我希望我的应用程序有两种模式,GUI模式和非GUI模式.如何正确设置以便我可以回写cmd窗口?

delphi

5
推荐指数
3
解决办法
9536
查看次数

可选择在C++中写入控制台的Windows应用程序?

我想要一个具有以下行为的Windows应用程序:
1.如果它是从现有的命令行窗口(cmd.exe)启动,那么它将其stdout写入该控制台.
2.如果通过双击其图标启动它,它不会打开新的控制台,也不会在任何地方写入它的标准输出.

要实现1,我可以设置/SUBSYSTEM链接器参数,CONSOLE但如果我双击应用程序图标,则会打开一个新的控制台窗口.
要实现2,我设置相同的参数WINDOWS,但是如果我从控制台启动应用程序,它的stdout不会被定向到控制台.
我希望同一个可执行文件具有这两种行为.

到目前为止,我发现我可以创建一个/SUBSYSTEM:WINDOWS可执行文件并执行此操作:

DWORD ret = AttachConsole(ATTACH_PARENT_PROCESS)
if (ret != 0) {  // succeeds only if the parent is cmd.exe
     HANDLE outh = GetStdHandle(STD_OUTPUT_HANDLE);
     WriteFile(outh, "Hello", 5, NULL, NULL);
}
Run Code Online (Sandbox Code Playgroud)

Hello如果进程从一个进程启动,则写入控制台,否则不执行任何操作.
现在只有将CRT outh作为stdout的HANDLE的问题.我怎样才能做到这一点?

此选项的另一个问题是cmd.exe在启动的进程上没有阻塞.启动新进程后,cmd.exe将返回到提示符,并Hello在提示符处出现字符串.如果用户在控制台上按Enter,则会出现另一个提示.关于如何预防的任何想法?

c++ windows console crt

5
推荐指数
1
解决办法
186
查看次数

Java控制台和GUI应用程序模式?

创建可用作GUI应用程序和控制台工具的应用程序的最佳方法是什么?

以下是相关信息:一个可执行文件可以同时是控制台和GUI应用程序吗?

我的问题更多的是关于Java,Maven,JavaFX - 我的应用程序目前作为JavaFX GUI应用程序运行.

PS任何相对的帮助,非常感谢.我完全糊涂了.

java terminal user-interface maven

1
推荐指数
1
解决办法
512
查看次数