Разработка приложения для Windows без какой-либо зависимости

#windows #frameworks #ide

#Windows #фреймворки #ide

Вопрос:

Мне нужно создать приложение для всех версий Windows (XP, Vista, 7) без необходимости установки.NET или другие сторонние инструменты.

Приложению необходимо асинхронно загружать файлы, полученные в формате json, и отображать HTML-страницу, которая может взаимодействовать с приложением с помощью javascript.

Есть ли способ сделать это, используя продвинутую среду разработки, такую как Visual Studio, но не требуя ничего, кроме exe-файла приложения? Существуют ли какие-либо альтернативы с открытым исходным кодом?

Спасибо.

Комментарии:

1. Один .exe для XP до 7 должен быть выполнимым. IDE не имеет значения. MSVC должно быть достаточно. Откройте Watcom тоже. Вероятно, и Cygwin. C / C — лучший выбор здесь.

Ответ №1:

Посмотрите на элемент управления WebBrowser. По сути, это элемент управления Internet Explorer, который вы можете встроить в свое приложение, и он имеет интерфейс, позволяющий выполнять всевозможные манипуляции. А поскольку Internet Explorer всегда является частью Windows, он всегда будет доступен без дополнительных установок.

Использование элемента управления требует некоторой работы. Вы можете начать с рассмотрения использования упрощенного элемента управления WebBrowser. Он использует MFC, но вы можете использовать элемент управления и с простым C .

Я бы использовал это так, чтобы передать как можно больше сложных задач в элемент управления браузером и запускать их с помощью JavaScript. Синхронная загрузка JSON — это проблема в C , но не проблема в JS. Таким образом, вы можете в основном разделить свою логику между C и JavaScript и определить некоторый интерфейс (используя, скажем, DOM).

Комментарии:

1. Размещение визуального элемента управления ActiveX (что такое веб-браузер) сложно в прямом C / C . Фреймворк действительно помог бы. MFC, связанный как статическая библиотека, может это сделать (я не помню ограничений статической библиотеки, но я думаю, что это должно работать fime). Существует также ATL, который может помочь с размещением элемента управления вместо MFC и, вероятно, является лучшим выбором (связанный WTL предоставляет MFC-подобную Windows application framework, но в стиле ATL).

2. @Aardvark, да, я согласен. Использование MFC сделает это намного проще, чем обычный C .