Подтвердить что ты не робот

Любой способ использовать HTML в качестве интерфейса к программе C/С++?

Я разрабатываю продукт, подключенный через USB. Я хочу написать для него контрольное приложение, но я не могу программировать GUI для poo, поэтому я придумал идею использования веб-страницы (локальной в каталоге установки приложения) в качестве интерфейса к программе.

Итак, линия связи будет: User → HTML-страница (не размещена - она ​​локальная) → Программа на С++ → USB-порт

Я бы хотел сделать это так, потому что он портативен, по крайней мере, UI, и я могу свободно писать HTML.

Мой вопрос заключается в следующем: можно ли использовать HTML-страницу для разговора с USB-портом через программу на С++?

Если нет, я изучу GTK - достаточно портативный.

PS. Возможно ли это с PHP или (eugh) Java?

EDIT: только что реализованный PHP - это серверный язык - он не будет работать в моей ситуации, потому что страница должна быть запущена как программа (IE, просто используйте веб-браузер и HTML в качестве графического интерфейса, с фактическим обработка выполняется с использованием C/С++)

4b9b3361

Ответ 1

Фактически вы можете создавать веб-приложения на С++ с помощью инструментария Wt (аналогичный API для Qt). Существует автономный браузер, а также модуль для Apache. Таким образом, вы можете использовать С++ в качестве языка программирования так же, как и С# с ASP.NET, и, следовательно, вы также можете использовать свой существующий код на С++. Это не очень элегантно, хотя.

Я бы рекомендовал вам изучить Qt и написать все приложение поверх него. Он невероятно портативен и имеет обширный API для почти всего - это среда приложения; GTK + делает только пользовательский интерфейс и в C, хотя оболочка GTKmm для С++ хороша. Проверьте это на http://qt.nokia.com - он доступен под GNU LGPL.

Ответ 2

Я использовал mongoose для управления сервером через HTTP/HTML. Я сгенерировал страницы непосредственно на С++, но я не понимаю, почему вы не могли вызвать интерпретатор PHP для отображения содержимого страницы.

Ответ 3

Если вы не запустите плагин для браузера (не очень портативный), браузер, просматривающий веб-страницу, не может просто вызвать функции в вашей программе на С++.

Если вы собираетесь управлять устройством из браузера, в основном ваша программа на С++ должна включать веб-сервер. Таким образом, когда нажата ссылка или кнопка, программа С++ получит соединение в сокете, которое она прослушивает, и может делать что угодно.

Это очень уважаемая вещь, которую нужно научиться делать (возможно, используя некоторые сторонние библиотеки, чтобы помочь с аспектом веб-сервера), но так учится писать графическое приложение, а последнее более прямо здесь; -)

Конечно, Java может делать то же самое. Вы даже можете запустить PHP из командной строки и реализовать свой сервер на PHP, хотя этот вид наизнанку из того, как обычно используется PHP.

Ответ 4

Если вы захотите это сделать, ваша программа на С++ должна будет занять роль http-сервера. AFAIK - много утилит конфигурации маршрутизатора работают таким образом (за исключением Apple Express Express/Extreme) - у них есть небольшой httpd, работающий с html-страницами, обслуживаемыми через CGI.

Ответ 5

Отъезд HTMLayout. Компонент низкого уровня, сам HTMLayout, является бесплатным. Это Windows-только на данный момент, насколько мне известно, но сейчас идет работа по переносу на Linux и Mac. (Порт Windows Mobile уже существует). У них также есть Sciter, который построен вокруг HTMLayout и содержит средства сценариев. Проверьте демоверсии, они впечатляют!

(Извините, если это звучит как плагин. Я не связан с ними, но мне очень нравится HTMLayout:)).

Ответ 6

Ближайшая вещь, о которой я могу думать, это написать плагин Firefox/Chrome/IE/Safari и установить его в своем браузере для запуска вашего графического интерфейса для управления вашим устройством.

Ответ 7

Вы можете встроить простой http-сервер (например http://code.google.com/p/mongoose/), который предоставляет интерфейс REST для ваших приложений и служит HTML-странице который может выполнять вызовы интерфейса.