Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Выбор программы для открытия файлов с помощью js (https://javascript.ru/forum/misc/8603-vybor-programmy-dlya-otkrytiya-fajjlov-s-pomoshhyu-js.html)

Klikujiskaaan 04.04.2010 14:01

Выбор программы для открытия файлов с помощью js
 
Добрый день, коллеги.
Столкнулся с такой проблемой: на работе js используют для создания визардов под большой win проект и есть задача "если файл не excel xml - показывать окно выбора программы для открытия файла" (стандартное окошко винды, когда пытаешься открыть файл не ассоциированный ни с чем). Облазил кучу форумов, но нигде не нашел ничего подходящего. Может кто поможет, буду очень признателен.
Фрагмент кода (если файл без ассоциации - просто влетает окошко "файл ни с чем не ассоциирован, страдайте"):
FilePath = Params.GetParameter("Publish2Excel/FilePath").Value;
var objShell = new ActiveXObject("Shell.Application");
var OProgr = "Excel";
try
{
	var excel = new ActiveXObject("Excel.Application");
}
	catch(e)
{
	OProgr = FilePath;
}
objShell.ShellExecute(OProgr, '\"' + FilePath + '\"', "", "open", 1);

Riim 04.04.2010 16:27

Через жопу, но хоть что-то:
var WshShell = WScript.CreateObject('WScript.Shell');
WshShell.Run('explorer /select, C:\\test.hz');
WScript.Sleep(100);
WshShell.SendKeys(' ~');

Riim 04.04.2010 16:46

Пля, замаялся в InvokeVerb всякие 'open' и 'doubleclick' добавлять, оказывается надо просто без параметров запускать, рабочий пример:

WScript.CreateObject("Shell.Application").NameSpace('C:\\').ParseName('test.hz').InvokeVerb();

Klikujiskaaan 04.04.2010 16:51

Эх, пишет что "WScript - определение отсутствует", объект типа WScript.Shell позволяет создать через ухо так: WshShell = new ActiveXObject("WScript.Shell");...

Klikujiskaaan 04.04.2010 16:58

Ae, Riim благодарствую.

var objShell = new ActiveXObject("Shell.Application");
objShell.NameSpace('C:\\').ParseName('test.hz').InvokeVerb();

Riim 04.04.2010 17:07

Цитата:

Сообщение от Klikujiskaaan
WScript - определение отсутствует

можно поменять расширение с html на hta: http://habrahabr.ru/blogs/javascript/40707/

Klikujiskaaan 04.04.2010 17:11

тут вообще xml файл, которые потом парсится =)


Часовой пояс GMT +3, время: 13:33.