从 GUI 文件资源管理器执行程序,并且不生成终端

Execute program from a GUI file explorer, and don't spawn a terminal

本文关键字:终端 GUI 文件 资源管理器 执行程序      更新时间:2023-10-16

我正在编写一个程序,可以打开一个窗口并在上面显示一些内容。但是,如果我运行它会生成一个终端窗口。但是,如果通过双击文件运行终端,我不想要终端。我想保留控制终端的唯一情况是它是否由./filename运行 有什么办法可以做到这一点吗?我正在使用 sfml 进行 GUI。请注意,这应该适用于那里的操作系统,因此这不起作用。

一个潜在的解决方案是我分叉程序,然后杀死终端生成的进程,但我不知道这是否有效。

如果您不直接单击可执行文件,而是使用运行以下命令的批处理脚本:

editbin /SUBSYSTEM:WINDOWS <your_exe>

您不会看到控制台弹出窗口。

您所要求的内容已经在 SFML 论坛的多个实例上得到了解答。你可以在这里查看。这里的答案似乎是特定于窗口的。长话短说:只需将子系统更改为Windows并将其链接到sfml-main.lib。但是,这样做会使它特定于窗口。即使是开发人员也没有真正给出一个非常解释性的答案,说它已经在常见问题解答和教程中得到了回答,但我找不到任何帖子/教程。但是,这似乎是唯一有效的(有点跨平台的(解决方案(并且是我使用的解决方案(。希望有帮助。