1

Тема: HTA: Открытие нового приложения

Добрый день!

Сразу: я новичок в HTA, поэтому прошу не пинать сильно. Более ориентирован на web, но сейчас понадобилось написать десктопное приложение для работы с web, а знаний нет. Titanium AIR и тп не предлагать - много документации да причем еще не очень грамотно написанной, да и не нужно мне для небольшого приложения.

Начнем с простого:  hta приложение создать и запустить могу, но не умею открыть новое окно(читай приложение) из своего скрипта. Т.е. к примеру есть кнопка  "открыть окно", и при нажатии на нее должно открываться уже другое окно. как это сделать.

Большая просьба - не ругаться, а просто ткнуть в меня ссылкой

2

Re: HTA: Открытие нового приложения

Создать объект класса WScript.Shell и использовать его метод Run.

3 (изменено: o.v., 2015-01-06 18:16:32)

Re: HTA: Открытие нового приложения

Спасибо за быстрый ответ!

Нашел http://www.script-coding.com/WSH/WshShell.html

Если я правильно понимаю терминологию, то мне надо создать новый объект WScript.Shell (он и является новым окном Windows) и методом Run запустить вновь созданный объект (окно Windows), который и является новым независимым процессом Windows и, соответственно, будет отображаться в общем списке процессов Windows.

Правильно?

И тогда, с этим вновь созданным объектом я могу работать из скрипта родительского объекта. так?

Прокомментируйте плз.

4

Re: HTA: Открытие нового приложения

Нет, это объект, представляющий оболочку Windows. Через его метод Run можно запускать приложения. Если приложение открывает какое-то окно при работе, то будет окно. Приложение будет работать в своём процессе, конечно, а не в родительском.

5

Re: HTA: Открытие нового приложения

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

6 (изменено: shiz, 2015-01-06 19:15:32)

Re: HTA: Открытие нового приложения

run  не сможет запустить приложение, которое еще не создано?

Что значит "приложение создано?"

Забыл пароль и потерял e-mail.

7

Re: HTA: Открытие нового приложения

shiz пишет:

run  не сможет запустить приложение, которое еще не создано?

Что значит "приложение создано?"

как это понимаю я:

приложение == процесс == если не фоновое то окно == имеет собственный файл

поправьте где неправильно

т.е. если мне нужно создать новое окно windows (читай новый процесс), то должен существовать исходный исполняемый файл.
так??? или не так??

8

Re: HTA: Открытие нового приложения

давайте я дополню что я пытаюсь получить

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

9

Re: HTA: Открытие нового приложения

Да, для создания процесса нужен исполняемый файл. Тот код, что вы пишете в файле HTA, при "запуске" передаётся на исполнение приложению mshta.exe. Для этого приложения и создаётся процесс. Это приложение и открывает окно. Конечно, можно из кода первого HTA запустить выполнение кода в другом таком же файле НТА — через метод Run. Тогда будет создан ещё один процесс mshta.exe со своим окном. Если не ошибаюсь, НТА можно с параметрами запускать, так что какие-то данные при запуске ему передать можно.