我想知道您是否可以在CMD提示类型窗口(无GUI)中运行的C ++程序中添加指向网站的链接
如果有可能,请给我一些例子吗?
答案 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,有相当数量的跨平台库,但文本模式鼠标操作并没有得到很好的支持。