Импорт функции WinAPI в файл * .VBS - PullRequest
11 голосов
/ 24 февраля 2010

Используя 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 файлов?

Ответы [ 2 ]

9 голосов
/ 24 февраля 2010

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

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

1 голос
/ 18 октября 2010

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

Для чего стоит HTA, возможно, стоит рассмотреть в качестве простой в использовании замены http://www.microsoft.com/downloads/en/details.aspx?FamilyId=231D8143-F21B-4707-B583-AE7B9152E6D9&displaylang=en

...