【问题标题】:Open HTML file in browser using C++使用 C++ 在浏览器中打开 HTML 文件
【发布时间】:2012-07-04 10:28:04
【问题描述】:

我正在使用 Visual Studio 用 C++ 编写程序,我需要做的是创建一个 HTML 文件并在其中写入数据,然后我希望在浏览器中打开它。现在我可以创建文件,写东西,但我无法打开它,有人可以帮忙吗?

这可能是一个简单的问题,但我只是一个初学者。

【问题讨论】:

    标签: c++ html visual-studio-2010


    【解决方案1】:
    #include <windows.h>
    
    void main()
    {  
       ShellExecute(NULL, "open", "http://dreamincode.net",
                    NULL, NULL, SW_SHOWNORMAL);
    }
    

    http://www.dreamincode.net/code/snippet357.htm 您只需将代码中显示的上述 URL 替换为 html 文件的绝对路径即可。当然可以用变量来完成。

    【讨论】:

    • 我得到了一些反对意见,有人愿意解释为什么他们认为这是应得的吗?
    • @uɐɥʇɐᴎ +1 您的回答不应该投反对票。问题是你不需要写评论,这就是人们随便写评论的原因。
    • 如果我错了,请纠正我,但我认为出于安全原因,某些浏览器会阻止打开本地文件。所以我不确定这是否能保证工作,除非用户专门配置他们的浏览器来允许它。
    • 我怎样才能让它打开一个谷歌浏览器标签而不是一个 Internet Explorer。我需要更改NULLs 之一吗?或者这是否会在默认浏览器中隐式打开一个新选项卡,因此我需要从 Internet Explorer 切换到 Chrome 作为我的默认浏览器?
    【解决方案2】:
        void CAboutDlg::OnButton1()
    {
        CString strDir;
        char buffer[255];
    
        GetCurrentDirectory(255, buffer);
    
        strDir = buffer;
    
        strDir.TrimRight("\\");
        strDir += "\\";
        strDir += _T("helpindex.html");
    
        if( 32 >= (int)ShellExecute( NULL, "open", strDir, NULL, NULL, SW_SHOWNORMAL))
        {
            AfxMessageBox("::ShellExecuteFailed"
                 " to open this link!");
        }  
    }
    

    【讨论】:

      【解决方案3】:

      试试这个……对我来说很好用……

      #include <windows.h>
      void main()
      { 
          LPCTSTR helpFile = "c\help\helpFile.html";
          ShellExecute(NULL, "open", helpFile, NULL, NULL, SW_SHOWNORMAL);
          system("PAUSE");
      }
      

      【讨论】:

      • 虽然此答案可能是正确且有用的,但如果您 include some explanation along with it 解释它如何帮助解决问题,则最好。如果有更改(可能不相关)导致它停止工作并且用户需要了解它曾经是如何工作的,这在未来变得特别有用。
      【解决方案4】:

      如果您正在为 UWP 开发:

          Windows::System::Launcher::LaunchUriAsync(ref new Uri("https://www.google.com"));
      

      【讨论】:

        猜你喜欢
        • 2011-12-18
        • 2011-11-09
        • 2015-09-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-04-15
        • 2014-04-07
        • 1970-01-01
        相关资源
        最近更新 更多