Действительно ли возможно запустить приложение от браузера? Я не говорю об открытии файла от браузера (как, открывают PDF with Adobe Reader), а скорее открытие нового (пустого) экземпляра приложения, которое установлено на машине пользователя.
Гипотетическая ситуация: Пользователь просматривает веб-сайт, который перечисляет компьютеры, которыми можно управлять через RDP. Он нажимает на ссылку на 192.168.1.10, та ссылка открывает клиент Microsoft RDP (mstsc.exe) с тем IP-адресом, уже заполненным.
Я говорю строго о вселенной Windows.
Та вещь является даже выполнимой за пределами ActiveX и IE?
Действительно ли мудро делать попытку этого в IE с ActiveX?
Вы не можете "запустить приложение" в истинном смысле этого слова. Вы можете, как вы указали, попросить пользователя открыть документ (например, PDF), и Windows попытается использовать приложение по умолчанию для этого типа файла. У многих приложений есть способ сделать это.
Например, вы можете сохранить RDP-соединения в виде файла .rdp. Размещение на вашем сайте ссылки на что-то вроде этого должно позволить пользователю запускаться прямо в сеансе RDP:
<a href="MyServer1.rdp">Server 1</a>
Вы хотите создать Асинхронный подключаемый обработчик протокола.
Я добился того же, используя локальный веб-сервер и PHP. Я использовал сценарий, содержащий shell_exec
, для локального запуска приложения.
Вы также можете сделать что-то вроде этого:
<a href="file://C:/Windows/notepad.exe">Notepad</a>
Мы используем sonicwall vpn. Он запускает java-апплет, который запускает mstc со всеми настройками учетных данных. Вы действительно не можете сделать это без java-апплета или плагина activex.
Microsoft сама использует эту технику на своем сервере малого бизнеса для проникновения в сеть. Я бы не сказал, что это ужасная идея, если независимость платформы не важна.
Некоторые приложения запускаются по протоколам. как itunes со ссылками "itms: //". Однако я не знаю, как вы можете зарегистрировать это в Windows.