4 / 4 / 0
Регистрация: 02.06.2016
Сообщений: 89

Запуск приложения из под Веб-страницы

18.08.2021, 17:17. Показов 4361. Ответов 4

Студворк — интернет-сервис помощи студентам
Доброго дня.

Хотел бы поинтересоваться у знающих, существует ли на практике возможность запустить локальное приложение по кнопке
с Web-страницы? (Вопросы безопасности на данном этапе не волнуют; нужно понимание такой возможности)

Если подробно, то на Windows Server 2012 R2 развёрнуто Web-приложение и поднят сайт (с помощью IIS).
Клиенты со своих локальных машин под управлением каких-либо несерверных ОС заходят через актуальный Chrome по URL и попадают
на это самое Web-приложение. Авторизуются там и могут работать с мнемосхемами в векторной графике (SVG).
Мнемосхема подключает файл-расширение на JavaScript, который выполняется при загрузке этой схемы.
Вот на мнемосхеме размещён активный элемент "кнопка", по которой хотелось бы открывать локальное приложение (*.exe).
(Кнопкой можем, например добавлять какие-нибудь html теги в DOM-структуру сайта или выполнять некую JS функцию)
На проекте подключена библиотека jQuery, можно использовать её возможности.

Вот исходя из вышеперечисленный особенностей и возможностей, может кто-нибудь подскажет можно ли написать какую функцию или
добавить что-то в DOM-структуру, чтобы появилась возможность запускать приложения?

Из найденных возможных вариантов в сети не особо что-то помогло.

Заранее благодарю.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
18.08.2021, 17:17
Ответы с готовыми решениями:

Возможен ли запуск MVC веб приложения без установки веб-серверов?
Есть программа, крутящаяся в виде службы Windows. Для неё есть клиент WinForm обмен с которым идёт через WCF. Была поставлена задача -...

Нужно написать веб приложения на С#, которые ищут веб страницы содержащие ключевое слово
Нужно написать веб приложения на С#, которые ищут веб страницы содержащие ключевое слово. Затем систематизируют найденное согласно...

Запуск веб-приложения в Spring tool suite
Здравствуйте уважаемые форумчане, импортировал проект в STS не удаётся запустить на сервере. Помогите настроить проект, если есть такая...

4
Эксперт JS
2463 / 1769 / 625
Регистрация: 11.07.2016
Сообщений: 4,067
18.08.2021, 18:07
Garik_1993, не занимался таким, но гуглите что-то вроде "custom uri scheme windows". Должна быть информация.
В конце концов тот же Steam запускает своё приложение по ссылке вида steam://.... Вы тоже можете зарегистрировать свою схему. Но без ковыряний в реестре не обойтись (если винда 7ка и если у вас вообще винда, а не mac).
3
331 / 238 / 80
Регистрация: 15.11.2017
Сообщений: 453
Записей в блоге: 4
18.08.2021, 18:28
Garik_1993, могу предложить вариант с node.js
Нужно, чтобы у клиента был запущен node.js. Человек жмёт ссылку примерно такую:
Code
1
http://localhost:5555/run/someprogram/
Т.е. порт 5555 слушает веб-сервер node.js. А там такой код:

JavaScript
1
2
3
4
child_process.exec('run.bat', function(err, data) {  
        console.log(err)
        console.log(data.toString());                       
});
В run.bat так:
Code
1
2
3
c:
cd \
calc.exe
(ну или какой там путь будет у вас)

Сейчас проверил - калькулятор из корня запустился.

Добавлено через 9 минут
Вот вам готовый index.js:
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
const express = require('express');
const app = express();
const port = 5555;
const child_process = require('child_process');
 
app.get('/run/mybat/', (req, res) => {
    res.send('Running mybat');
 
    child_process.exec('run.bat', function(err, data) {  
            console.log(err)
            console.log(data.toString());                       
    });
});
 
app.listen(port, () => {
  console.log(`Listening at http://localhost:${port}`);
});
Стартуете ноду:
Code
1
node index.js
а потом открываете нужный адрес.

Добавлено через 1 минуту
Не забудьте express установить:
Code
1
npm install express
2
Модератор
Эксперт JS
 Аватар для Eva Rosalene
5241 / 2115 / 416
Регистрация: 06.01.2013
Сообщений: 4,846
20.08.2021, 11:01
Цитата Сообщение от DimaDima1985 Посмотреть сообщение
Вот вам готовый index.js:
Который торчит наружу. Готовая дырка в безопасности, как по учебнику.
0
331 / 238 / 80
Регистрация: 15.11.2017
Сообщений: 453
Записей в блоге: 4
20.08.2021, 12:30
Eva Rosalene, возможно. Но человек, как я понял, сисадмин, разберётся. Да и он сам написал:
Вопросы безопасности на данном этапе не волнуют
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
20.08.2021, 12:30
Помогаю со студенческими работами здесь

Запуск веб-приложений из под Intelij IDEA
Проинсталил я последний J2EE 1.4. Запустил Идею. Создал Веб-Модуль. В качестве аппсервера указал j2ee.jar. Написал простенький сервлетик. ...

Запуск страницы в браузере из своего приложения
Всем доброго времени суток! В моем приложении я получаю адрес страницы из файла, например "https://www.cyberforum.ru/" ...

Запуск стороннего приложения с asp страницы
почитал все что можно по данной теме в том числе и здесь и в MSDN'е накропал вот такую процедуру: <script language=vbscript> ...

Запуск приложения под Win
В общем, у меня есть редмайн, который надо поправить ) Как мне взять проект с сервера, и запустить его на винде? gem install mysql...

Запуск приложения под Windows XP
Уважаемые форумчане, подскажите пожалуйста. Что и где нужно настроить в MVS 2010 чтобы проект, написанный на C# под Windows 7 работал и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru