Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Вызов API-функций из JScript


Автор: Ciber SLasH 23.11.2005, 23:28
Никак не получается вызвать API-функцию из JScript smile
Пишу:
Код
var WSH_Shell = WScript.CreateObject("WScript.Shell");
var SysPath = WSH_Shell.ExpandEnvironmentStrings("%WinDir%") + "\\system32";
WSH_Shell.Run('Rundll32.exe shell32.dll,ShellExecute 0, "open", "", '+SysPath+'\\calc.exe, "", "", 5');
но ничего не выходит, видимо я неправильно задаю параметры функции.

У кого какие предложения?

Автор: Ciber SLasH 25.11.2005, 21:04
Уже разобрался...
Оказывается Rundll32.exe позволяет выполнить любую функцию с одним параметром из любой 32 разрядной библиотеки. А я пытался передать кучу параметров.

В итоге оказалось, что стандартными средствами выполнить API-функцию с двумя и более параметрами нельзя. Но можно выполнить с помощью сторонних прог...

Автор: Sardar 29.11.2005, 01:31
На встречу: зачем это понадобилось? Просто интересно smile

Автор: Ciber SLasH 29.11.2005, 01:40
Вообще JScript+WSH я (и не только, на том же форуме forum.wincmd.ru) использую для повышения функцианальности Total Commander'a.

Автор: Guest 20.12.2005, 19:20
Ciber SLasH для тотала? если не мсекрет в каких областях

Автор: Ciber SLasH 21.12.2005, 02:55
Цитата(Guest @ 20.12.2005, 19:20)
если не мсекрет в каких областях

Вызов API-функций с возвратом результатов через Rundll32.exe не получится. Поэтому на этом я поставил точку. А изначально хотелось найти окно ТС через FindWindow и поменять ему заголовок.

А так для ТС например я забодяжил скрипт, который все выделенные файлы сжимает/разжимает UPX-ом. Повесил его в меню "Запуск" (можно и на кнопку) и когда нужно применяю.

А вообще зайди сюда (тут как раз про автоматизацию ТС): http://forum.wincmd.ru/viewforum.php?f=3

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)