代码之家  ›  专栏  ›  技术社区  ›  Bojangles Vincent Baillet

使用HTML作为C/C++程序的接口的方法有哪些?

  •  13
  • Bojangles Vincent Baillet  · 技术社区  · 15 年前

    我正在开发一种通过USB接口的产品。我想为它编写一个控制应用程序,但是我不能为poo编写一个GUI,所以我想出了一个使用网页(应用程序安装目录的本地页面)作为程序接口的想法。

    因此,通信的路线将是:用户-gt;HTML页面(不是托管的——它是本地的)-gt;C++程序-gt;USB端口

    我想这样做,因为它是可移植的,至少是基于用户界面的,而且我可以流利地编写HTML。

    我的问题是:是否有可能使用一个HTML页面通过一个C++程序与USB端口对话?

    如果没有,我会学习GTK-它足够便携。

    PS,这是可能的PHP,或(UEGH)Java?

    编辑:只是意识到PHP是一种服务器端语言——在我的情况下它不起作用,因为页面需要作为程序运行(即,只使用Web浏览器和HTML作为GUI,用C/C++完成实际的处理)。

    7 回复  |  直到 11 年前
        1
  •  9
  •   CMircea    15 年前

    实际上,可以使用一个工具包调用C++中的Web应用程序。 Wt (与Qt类似的API)。有一个独立的浏览器和一个用于Apache的模块。这样,你就可以使用C++作为你的编程语言,就像你和ASP.NET一样,这样你也可以使用你现有的C++代码。不过,它不太优雅。

    实际上,我建议您学习qt并在上面编写整个应用程序。它是非常便携的,它拥有广泛的API,几乎所有的东西——它是一个应用程序框架;GTK+只做UI,而在C中,虽然C++的GTKMM包装器很好。检查一下 http://qt.nokia.com -它在GNU LGPL下可用。

        2
  •  6
  •   Ferruccio    15 年前

    我已经用过 mongoose 通过http/html控制服务器。我直接在C++中生成了这些页面,但是我不明白为什么你不能调用PHP解释器来渲染页面内容。

        3
  •  5
  •   Steve Jessop    15 年前

    除非你编写一个浏览器插件(不是非常便携),浏览网页的浏览器不能仅仅调用C++程序中的函数。

    如果你要从浏览器中控制一个设备,基本上你的C++程序需要合并一个Web服务器。因此,当单击一个链接或一个按钮时,C++程序将在它所收听的套接字上接收到连接,并且可以做任何事情。

    这是一件值得学习的事情(可能使用一些第三方库来帮助Web服务器方面),但是学习编写一个GUI应用程序也是如此,后者更直接地指向这里;-)

    当然,Java也可以做同样的事情。您甚至可以从命令行运行php并用php实现您的服务器,尽管这与通常使用php的方式类似。

        4
  •  2
  •   Eimantas    15 年前

    如果你想这样做的话,你的C++程序就必须扮演HTTP服务器的角色。afaik——很多路由器配置实用程序都是这样工作的(除了苹果的Airport Express/Extreme)——它们有一个小的httpd,通过cgi提供HTML页面。

        5
  •  2
  •   atzz    15 年前

    退房 HTMLayout . 底层组件htmlayout本身是免费的。据我所知,目前只有Windows,但将其移植到Linux和Mac的工作正在进行中。(Windows Mobile端口已存在)。他们也有sciter,它是围绕htmlayout构建的,包含脚本工具。看看演示,它们令人印象深刻!

    (如果听上去像插头,很抱歉。我不属于他们,但我真的很喜欢他们。

        6
  •  1
  •   Pablo Santa Cruz    15 年前

    我能想到的最接近的事情就是写一个firefox/chrome/ie/safari插件,让用户在浏览器上安装它来运行你的GUI来控制你的设备。

        7
  •  1
  •   Milan    15 年前

    您可以嵌入一个简单的HTTP服务器(例如 http://code.google.com/p/mongoose/ )它向应用程序功能公开一个REST接口,并提供一个可以调用该接口的HTML页面。