(C ++)你可以在没有GUI的情况下将直接链接添加到C ++程序中吗?

时间:2010-04-18 01:07:49

标签: c++

我想知道您是否可以在CMD提示类型窗口(无GUI)中运行的C ++程序中添加指向网站的链接

如果有可能,请给我一些例子吗?

3 个答案:

答案 0 :(得分:4)

您的意思是命令提示符中的输出文本然后用户可以单击?不,除非终端支持它。 Linux终端通常会自动链接与URL模式匹配的文本,因此您只能printf("http://stackoverflow.com/\n");并且它可以被点击,但这取决于终端,而不是您的程序

答案 1 :(得分:1)

当您撰写“直接链接”时,不清楚您是指可点击的文字还是打开网址的方法。无论如何,命令行程序通常会响应命令行参数。您的程序可以在默认浏览器中打开一个URL以响应命令行标志。在Windows上,您可以拨打ShellExecute - 在其他系统上,system可能是合适的。

答案 2 :(得分:1)

这取决于。例如,在Windows中,是的,它完全有可能,尽管有点不重要。您可以通过ReadConsoleInput接收鼠标事件,因此从理论上讲,这是一个相当简单的读取输入事件的问题,如果是鼠标点击您定义为链接的区域,则将用户引导至链接如你所愿 - 如果你想以文本模式显示网站,那是可能的(但是,再次,明显非平凡)。如果您想启动用户的普通网络浏览器,那就更简单了(通常只有ShellExecute网址。)

实际上,细节有点难看。你必须启用它的鼠标输入才能工作。 ReadConsoleInput为您提供INPUT_RECORD,它是许多不同输入记录类型的并集,其中一个是鼠标输入记录。当您对鼠标单击做出反应时,您的代码将被深深嵌套。没有任何方法无法管理,但除非您已经拥有相当多的Windows控制台编程经验,否则在工作之前可能很容易花费一天(甚至更多),而不是一小时或你最初猜的两个。

当然,这完全是针对Windows的 - 如果你想将代码移植到另一个系统,我猜你很有可能会看到完全重写。对于GUI,有相当数量的跨平台库,但文本模式鼠标操作并没有得到很好的支持。