Импортируйте функцию WinAPI в файл *.VBS

#vba #vbscript

Вопрос:

Используя visual basic, скажем, в Excel, я могу объявлять функции WinAPI с помощью ключевого слова DECLARE — например

 Declare Function SetLocaleInfo Lib "kernel32" Alias "SetLocaleInfoA" ( _
    ByVal Locale As Long,
    ByVal LCType As Long,
    ByVal lpLCData As String
) As Boolean
 

Однако при использовании этого синтаксиса в файле *.VBS — он завершается ошибкой компиляции.

Может ли кто-нибудь сказать мне, что мне нужно сделать, чтобы запустить функции WinAPI из файлов *.VBS?

Ответ №1:

Вы не можете запускать функции WinAPI из VBScript без дополнительной сторонней поддержки.

Я полагаю, что раньше был поставщик COM-компонента, который позволял VBScript вызывать стандартную библиотеку dll, но я не могу вспомнить, как она называлась, и вполне возможно, что мое воображение играет со мной злые шутки.

Ответ №2:

Многие сообщения на форуме упоминают «dynacall» в качестве оболочки, я думаю, вы говорите об этом, однако две основные ссылки, которые они публикуют, кажутся несуществующими

Для чего это стоит, на HTA, возможно, стоит посмотреть как на простую в использовании замену http://www.microsoft.com/downloads/en/details.aspx?FamilyID=231D8143-F21B-4707-B583-AE7B9152E6D9amp;displaylang=ru