Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Web > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 01.10.2007, 15:50   #1
studenth
Форумчанин
 
Регистрация: 10.09.2007
Сообщений: 105
Репутация: 65
По умолчанию Текущая политика безопасности не позволяет получать доступ к файловой системе. JavaScript

Доброго дня всем!
Вот интересная проблемка со скриптом на JS.
Попробовал интерпретировать банальный пример,
получить пути до "специальных директорий" (мои документы, папка Windows и.т.д.), потом запустить блокнот....и послать в него сообщение....с этими путями. В общем вот что получилось:

Код:

 
//массив, содержащий текстовые константы для последущего использования
//в функции, возвращающей адреса специальных директорий
var Names = new Array("Favorites", "MyDocuments", "PrintHood","Recent", 
"StartMenu", "Templates", "Desktop", "Fonts", "NetHood", "SendTo"); 
var ProgramPath = "notepad.exe"; //путь к программе блокнот 
var Title = "Блокнот"; //заголовок программы блокнот
var Path = ""; //путь к папке 
//создаем обект класса shell
var shell = new ActiveXObject("WScript.shell");
//запускаем программу блокнот
shell.Run(ProgramPath);
//ждем 2 секунды, пока загрузится блокнот
WScript.Sleep(2000);
//запускаем цикл перебора массива и получения путей папок
for(var i=0; i<Names.length; i++)
{ 
shell.AppActivate(Title); //активируем окно прогр. блокнот
Path = shell.SpecialFolders(Names[i]); //получение пути папки
//посылаем в него строку, в блокнот:)
shell.SendKeys(Names[i] + ": " + Path + "\n"); 
}
WScript.Quit(0);

Но, что интересно, скрипт не работает правильным образом на моей тачке (у соседа все работает ОК). Происходит вот что, открывается блокнот, и начинается....
следом открывается менюшка поиска текста, и уже в этот едит идет весь текст, который я посылал в блокнот...
причем периодически нажимается кнопка "Найти"%)
короче ужас.
Я JS не так давно учу...помогите люди добрые!

Научитесь оформлять код сами, пожалуйста //SkyM@n

Последний раз редактировалось SkyM@n; 01.10.2007 в 22:52.
studenth вне форума   Ответить с цитированием
Старый 02.10.2007, 00:38   #2
SkyM@n
Laravel/Vue expert
Профессионал
 
Аватар для SkyM@n
 
Регистрация: 08.08.2007
Адрес: /dev/random
Сообщений: 2,834
Репутация: 927
По умолчанию

Текущая политика безопасности не позволяет такого делать, а именно - получать доступ к файловой системе, что очень правильно. Не рекоммендую вам использовать WScript.shell в веб-документах. Во-первых, это далеко не будет работать во всех браузерах, во-вторых, это по умолчанию запрещено делать с соображений безопасности.
Разрешите поинтересоваться, зачем вам это? Возможно, есть другие пути решения ваших задач?
SkyM@n вне форума   Ответить с цитированием
Старый 02.10.2007, 16:57   #3
studenth
Форумчанин
 
Регистрация: 10.09.2007
Сообщений: 105
Репутация: 65
По умолчанию

да, за код простите, чего то я дуркую
Кстати, я не делаю web-приложения.
Я просто не нашел раздела посвященного администрированию систем (JS сценарии я использую в этом направлении).
Написал этот сценарий и хотел выполнить его локально.
И вот начали эти странности происходить....Такое ощущение, что WSH работает неправильно, как будто сообщения застревают в очереди....так как на W2K3 Server все ОК работает....

ну еще стоит отметить, что Windows на этой машине стоит левее некуда, ошибки в explorer.exe не редкость - они происходят почти постоянно...а так как идет отправка сообщений в окно....могу предположить, что тут то и происходит эта чертовщина. Уж не знаю насколько это реально....

Последний раз редактировалось studenth; 02.10.2007 в 16:59.
studenth вне форума   Ответить с цитированием
Старый 02.10.2007, 17:29   #4
SkyM@n
Laravel/Vue expert
Профессионал
 
Аватар для SkyM@n
 
Регистрация: 08.08.2007
Адрес: /dev/random
Сообщений: 2,834
Репутация: 927
По умолчанию

Цитата:
Сообщение от studenth Посмотреть сообщение
Я просто не нашел раздела посвященного администрированию систем (JS сценарии я использую в этом направлении).
А какое отношение имеет данный скрипт к администрированию с-мы?
SkyM@n вне форума   Ответить с цитированием
Старый 02.10.2007, 18:09   #5
studenth
Форумчанин
 
Регистрация: 10.09.2007
Сообщений: 105
Репутация: 65
По умолчанию

Часто возникают задачи, которые нужно как то автоматизировать....
Так вот, для некоторых задач, хорошо было бы получить пути до этих "специальных директорий", потому как, к примеру папку "Мои документы", можно перенести (есть для этого программы). Ну и вотс...
Очень удобно создать сценарий, который будет, в три ночи (если мы работам с Нью-Йоркским офисом) открывать Outlook и эмулируя нажатия клавишь отправлять почту куда нужно....

Разве плохо, что не нужно бегать на работу для того, чтобы выполнять типовые действия???
studenth вне форума   Ответить с цитированием
Старый 03.10.2007, 06:19   #6
SkyM@n
Laravel/Vue expert
Профессионал
 
Аватар для SkyM@n
 
Регистрация: 08.08.2007
Адрес: /dev/random
Сообщений: 2,834
Репутация: 927
По умолчанию

А JavaScript тут при чем? Тут Дельфи, Бейсик, С++, но жабаскрипт в администрировании? Неет уж. Уж лучше VBS+WMI
SkyM@n вне форума   Ответить с цитированием
Старый 03.10.2007, 09:24   #7
studenth
Форумчанин
 
Регистрация: 10.09.2007
Сообщений: 105
Репутация: 65
По умолчанию

Компонент ОС Win, Windows Script Host работает со сценариями написанными на Java Script, и предоставляет в распоряжение администратора объектную модель ОС. Можно сделать все.
Остается лишь вопрос вкуса, что то вроде "Я в детстве учил VBS мне так удобно"....ну а я учил Си, и мне удобно на JS....
Почему так критически относитесь к использованию JS в этом направлении????

P.S. а почему удобнее использовать WSH...вот банальный пример, задача с подсчетом веса директории. Ну напишем рекурсивную функцию, которая будет обходить все дочернии каталоги. Если папка весит 20 гигов, то размер будет вычисляться дольше, чем это делает, скажем проводник(в меню свойства). Да, не спорю, можно и на C++ работать с WMI, но это требует больших усилий....
чем технология JS + WSH

Последний раз редактировалось studenth; 03.10.2007 в 11:24.
studenth вне форума   Ответить с цитированием
Старый 03.10.2007, 12:38   #8
SkyM@n
Laravel/Vue expert
Профессионал
 
Аватар для SkyM@n
 
Регистрация: 08.08.2007
Адрес: /dev/random
Сообщений: 2,834
Репутация: 927
По умолчанию

Да не совже уж так критически, но в администрировании имхо этот язык только может как подручное средство. Если удобней больше JS, чем VBS, используйте ее. Просто я веду к тому, что к ВЕБ-программировании весь этот флейм не относится Кстати, вопрос еще актуален?
SkyM@n вне форума   Ответить с цитированием
Старый 03.10.2007, 12:41   #9
studenth
Форумчанин
 
Регистрация: 10.09.2007
Сообщений: 105
Репутация: 65
По умолчанию


конечно, закрывай
я уже понял, что не туда попал
вопрос сам собой решился.
studenth вне форума   Ответить с цитированием
Старый 03.10.2007, 12:53   #10
SkyM@n
Laravel/Vue expert
Профессионал
 
Аватар для SkyM@n
 
Регистрация: 08.08.2007
Адрес: /dev/random
Сообщений: 2,834
Репутация: 927
По умолчанию

Цитата:
Сообщение от studenth Посмотреть сообщение

конечно, закрывай
я уже понял, что не туда попал
вопрос сам собой решился.
Отлично) Да, и в догонку - а WScript.Quit(0); не лишний?
SkyM@n вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Получать пришедшие файлы N!ckeL Работа с сетью в Delphi 1 06.04.2008 09:49
Текущая дата в Эдит Ermiss Общие вопросы Delphi 4 22.12.2007 01:08
Delphi. Программа, которая использует системные функции для получения информации о файловой системе metamfetamin Помощь студентам 16 08.11.2007 14:24
Junk E-Mail Reporting Program, Как получать от нее инфу? timax PHP 3 16.10.2007 14:49
Текущая дата Nasya Microsoft Office Excel 8 26.06.2007 10:33


23:12.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru