1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/zha2-easy-window

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Что такое easy-window?

Easy-window — это универсальное оконное приложение, предназначенное для упрощения создания десктопных приложений с использованием современных технологий HTML5. Это позволяет быстро создавать Windows-приложения без необходимости знания сложных технологий, таких как QT, C++, C#, Java. Для использования этого инструмента достаточно иметь навыки работы с веб-страницами.

По сравнению с NW.js и Electron, использование easy-window проще и легче по размеру (только несколько мегабайт).

Внешний вид программы может быть таким же впечатляющим, как и ваше воображение. Без лишних слов, давайте рассмотрим примеры окон, которые можно создать с помощью данного инструмента.

Примеры приложений

  1. Простое окно image image
  2. Установка значка и заголовка окна image
  3. Ограничение ширины и высоты окна image
  4. Скрытие кнопок максимизации и минимизации image
  5. Окно без рамки image image image
  6. Нечётное окно image image---

Как использовать

Чтобы запустить примеры программ, вам потребуется скачать файл easy-window.exe, папку samples и файлы с расширением .vbs. Запустите соответствующий файл .vbs, чтобы начать работу. Вы можете изменять параметры в файле .vbs, чтобы настроить внешний вид окна.

Пример параметров файла .vbs:

Dim shell
Set shell = WScript.CreateObject("WScript.Shell")
shell.run "easy-window.exe -url https://www.baidu.com -title Baidu Главная страница"

Здесь easy-window.exe — это основной исполняемый файл, отвечающий за отрисовку окна. Параметр -url указывает страницу, которую следует отобразить, а параметр -title устанавливает заголовок окна. В результате будет показана следующая страница: image

Конечно, использование файла .vbs не обязательно; вы также можете запустить easy-window.exe -url https://www.baidu.com -title Baidu Главная страница прямо из командной строки, эффект будет тем же самым.

Для получения более подробной информации о других параметрах запуска обратитесь к разделу ниже «Параметры». Кроме способа конфигурации стилей окна через параметры запуска, также поддерживаются методы конфигурации с использованием файла. Вы можете запустить easy-window.exe, если в том же каталоге отсутствует файл config.ini, то он будет автоматически создан; если файл уже существует, то будут прочтены его параметры.Пример конфигурационного файла:

[окно]
url=samples/login/index.html
title=Пользовательская авторизация
ширина=640
высота=600
изменяемый=False
максимальный=False

Запустив easy-window.exe, вы сразу получите отображение файла samples/login/index.html.

Обратите внимание, что приоритет параметров запуска выше, чем конфигурационного файла. Если одновременно указаны одинаковые параметры как через параметры запуска, так и через конфигурационный файл, то будут использоваться параметры запуска.

Описание параметров

Логические значения могут принимать только два значения: true или false.| Параметр | Тип | Описание | |----------|---------|-------------------------------------------------------------------------------------------| | url | string | Адрес страницы, может быть относительным, абсолютным или удалённым. | | timeout | int | Время ожидания завершения загрузки страницы. Единица измерения — миллисекунды. | | icon | string | Путь к значку окна. | | title | string | Название окна. | | minbox | bool | Кнопка сворачивания окна. По умолчанию: true. | | maxbox | bool | Кнопка изменения размера окна до максимального. По умолчанию: true. | | minmax | bool | Ограничение изменения размера окна. По умолчанию: false. | | border | bool | Присутствие границы окна. По умолчанию: true. | | resizable| bool | Изменяемость размера окна. По умолчанию: true. | | shadow | bool | Присутствие тени у границы окна. По умолчанию: false. | | posx | int | Начальная позиция окна по оси X. | | posy | int | Начальная позиция окна по оси Y. | | width | int | Ширина окна. | | height | int | Высота окна. | | contextmenu| bool | Отображение контекстного меню мыши. |По умолчанию: true. | | layered | bool | Управление нерегулярной формой окна. По умолчанию: false. | | toolwindow| bool | Отображение окна как всплывающего инструментального окна. По умолчанию: false. | | topmost | bool | Окно всегда поверх других окон. По умолчанию: false. |### Встроенные расширения JS функций

Цель встроенных расширений JS функций — компенсировать недостаток JavaScript при работе с API Windows. Для использования этих расширений JS функций достаточно просто указать external. перед вызовом функции.

Пример использования:

external.alert("Hello World!");
<!DOCTYPE html>
<html lang="ru">
<head>
	<meta charset="UTF-8">
</head>
<body>
	<button onclick="loadFile()">Открыть файл</button>
	<script>
		function loadFile() {
			// Выбор файла
			var filePath = external.openFile('Все файлы|*.*|Текстовые файлы (.txt)|*.txt|');
			// Чтение и отображение содержимого файла
			external.alert(external.readFile(filePath), 'Содержимое выбранного вами файла:');
		}
	</script>
</body>
</html>

Результат выполнения

image image

Как видно, вызов external.openFile() открывает окно выбора файла, после выбора файла эта функция возвращает путь выбранного файла. Функция external.readFile() позволяет считывать содержимое локального файла.

Дополнительные функции см. ниже:|Функция|Описание| | :--- | :--- | |hitCaption()|Основно используется для привязки мыши к перемещению окна. Например, при работе с незакрытым или некруглым окном, привязка этой функции к определённому html-элементу позволит перемещать этот элемент с помощью мыши. Пример: <img src="images/ecology-heart.png" onmousedown="external.hitCaption()">. Подробнее см. пример работы с некруглыми окнами| |hitMax()|Максимизировать окно| |hitMin()|Уменьшить окно| |close()|Закрыть окно| |alert(text, title)|Показать диалоговое окно, text: сообщение, title: заголовок окна| |openFile(fileType, title)|Открыть файл, fileType: тип файла (все файлы|*. *|текстовый файл|*. txt|), title: заголовок окна выбора файла. Параметры не обязательны| |openDir(dir, subTitle, title)|Открыть директорию, dir: начальная директория, subTitle: подзаголовок, title: заголовок. Параметры не обязательны| |saveFile(fileType, title)|Сохранить файл, fileType: тип файла (все файлы|*. *|текстовый файл|*. txt|), title: заголовок окна. Параметры не обязательны| |readFile(path)|Прочитать файл, path: путь к файлу| |writeFile(path, text)|Записать файл, path: путь к файлу, text: содержимое файла| |clipRead()|Прочитать содержимое буфера обмена| |clipWrite(text)|Записать содержимое в буфер обмена, text: текстовое содержимое| |getMousePos()|Получить положение указателя мыши| |getPos()|Получить положение окна| |setPos(x, y, width, height)|Установить положение и размер окна, x: горизонтальное положение, y: вертикальное положение, width: ширина, height: высота.|Параметры ширины и высоты могут отсутствовать| |getScreen()|Получить ширину и высоту экрана| |setIcon(iconPath)|Установить значок окна| |setTitle(text)|Установить заголовок окна| |setTopmost(state)|Установить окно поверх всех других, state: true/false| |shell(cmd, showCmdWindow, waitResult)|Выполнить системную команду, cmd: команда, showCmdWindow: показывать ли окно командной строки, waitResult: ждать завершения выполнения команды и получения результата. Пример: var ip = external.shell('ipconfig /all', false, true); external.alert(ip);|

Примечание

Цель данного проекта заключается в упрощении разработки десктопных приложений, поэтому его функционал ограничен. В случае необходимости расширения возможностей существуют два варианта:1. Для отображения пользовательского интерфейса можно использовать браузерный движок miniblink. Большинство функций, поддерживаемых браузерами, также поддерживаются этим движком, что позволяет использовать технологии Ajax или WebSocket для взаимодействия с серверными языками программирования. Таким образом, большинство функций могут быть реализованы на других языках.

  1. Проект был разработан на языке aardio, который позволяет вам самостоятельно модифицировать исходный код, собирать и упаковывать его, а затем заменять исполняемый файл easy-window.exe.

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

Пример использования

  1. Сайт aardio: http://www.aardio.com/

  2. Сайт miniblink: https://weolar.github.io/miniblink/

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

HTML5 — универсальный инструмент для разработки настольных приложений. Развернуть Свернуть
MIT
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/zha2-easy-window.git
git@api.gitlife.ru:oschina-mirror/zha2-easy-window.git
oschina-mirror
zha2-easy-window
zha2-easy-window
master