【问题标题】:.net console app with hyperlinks?带有超链接的.net 控制台应用程序?
【发布时间】:2010-11-17 19:26:01
【问题描述】:

有可能吗?任何示例/模式或关于如何去做的想法?

更新 - 这本质上变成了一个文本浏览器,它根据提示符上的各种命令显示各种信息表,例如在浏览器中键入 url

现在而不是输入各种命令,例如

提示>命令 arg1 arg2 如果您可以在某个“列”/“行”中的文本上说“单击”,这将执行命令说

提示>commandX arg1

它会更快/更容易

现在,在有人提到做一个典型的浏览器/asp.net mvc/whatever 应用程序之前,我已经在运行它,但遇到了一些限制,尤其是。访问网络文件。等等 现在已经使用读取文件等的服务代理服务来处理了对它的扩展等等等等。

如果只有文本是可点击的,它会使其更易于使用!!

【问题讨论】:

    标签: c# .net console console-application


    【解决方案1】:

    窗口的外壳不支持可点击的超链接,所以不,这是不可能的。

    你想做什么来保证命令 shell 中需要超链接?也许将此应用程序构建为 WinForms/WPF 或 ASP.NET 应用程序会更好。

    【讨论】:

    • +1 以确保准确性,虽然我希望 windows shell 确实支持超链接,就像它在 linux 中一样......它有时很有用
    • “linux shell”不支持可点击的超链接。您的控制台模拟器(控制台、终端、KTerm 或其他)可以。
    【解决方案2】:

    假设没有鼠标,我会根据一些键盘触发器将 URL 作为新进程启动。

    // this will launch the default browser    
    ProcessStartInfo psi = new ProcessStartInfo("https://stackoverflow.com");
    Process p = new Process(psi);
    p.Start();
    

    VB 语法:

    // this will launch the default browser
    Dim psi = New ProcessStartInfo("https://stackoverflow.com")
    Dim p As Process = Process.Start(psi)
    

    【讨论】:

    • 看起来 Q 不清楚....目标是在控制台应用程序中有可点击的文本
    • 我认为这段代码在 .NET 4.5 中不起作用 Process() 似乎不再将 ProcessStartInfo 作为参数。您需要将其设置为属性。我最终实际上做了以下事情: Process.Start("IExplore.exe", show.ResultsURL);
    • @JayStevens:感谢您提供的信息! 4.5 中 Process.Start 的一些重载非常好!
    【解决方案3】:

    我不知道“超链接”对您来说是什么,但在控制台应用程序的上下文中,您可以使用希望用户按下的数字或字母

    (想象一个有 3 个选项的简单菜单)

    Press one option
    
    1 - Open ServerFault
    2 - Open StackOverflow 
    3 - Open SuperUser
    

    在 readline 中有一个开关,例如 start the IExplorer process 并打开网页。

    这就是您所说的“控制台应用程序中的超链接”吗?

    【讨论】:

    • 我希望以某种方式使某些文本可单击/呈现不同的颜色,然后根据单击的文本采取不同的操作,类似于在网页上有一个 html 表格并单击各种列/行执行不同的动作/网址等。
    【解决方案4】:

    要了解它的外观,请获取links 的副本。这是一个文本模式的网络浏览器,可以在多个操作系统中正常工作。

    【讨论】:

    • 在上面添加了更多详细信息,说明为什么此处浏览器不够用
    【解决方案5】:

    如果您希望控制台应用程序中有可点击的元素,您可以从控制台访问鼠标。当然,您必须自己为可点击区域构建逻辑。

    http://cboard.cprogramming.com/windows-programming/38680-win32-console-app-mouse-input.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-30
      • 2016-12-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多