ПОНЯТНО О Visual Basic NET (том 3)


Windows API


Классы библиотеки классов .NET Framework обладают множеством методов, пользуясь которыми программист выполняет те или иные действия над элементами проектируемого приложения. Операционная система Windows тоже обладает множеством функций, пользуясь которыми программист может выполнять действия над элементами Windows. Это множество функций Windows называется Windows API. Многие функции Windows API позволяют выполнять действия, недоступные методам библиотеки классов .NET Framework. Эти функции относятся скорее к операционной системе Windows, а не к VB. Например, это перезагрузка компьютера или установка фона рабочего стола. VB предоставляет возможность прямо из проекта пользоваться функциями Windows API. Однако делать это не так просто, как использовать функции библиотеки классов .NET Framework.

Функции Windows API расположены в библиотеках динамической компоновки – файлах с расширением dll.

Использование в VB функций Windows API я проиллюстрирую на двух примерах.

Beep. В Windows API имеется функция MessageBeep, действие которой состоит в генерации нескольких стандартных звуков Windows. Один из них – это наш знакомый Beep. Несмотря на то, что мы умеем его генерировать стандартным методом библиотеки классов .NET Framework, покажу для иллюстрации грамматики вызова, как это делать через Windows API.

Создайте проект с кнопкой. Вот код:

Declare  Function  Звук  Lib  "User32"  Alias  "MessageBeep" (ByVal A As Long)  As Long

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        Звук(-1)

End Sub

Запустите проект. Нажмите кнопку – раздастся наш знакомый Beep.

Пояснения: Первая строка кода объявляет внешнюю

для VB функцию из библиотеки динамической компоновки. Об этом говорит ключевое слово Declare. Мы должны заранее знать точное имя этой функции и указать его в двойных кавычках после ключевого слова Alias. Мы должны заранее знать имя библиотеки динамической компоновки, в которую входит нужная нам функция, и указать его в двойных кавычках после ключевого слова Lib. Мы можем для собственного удобства придумать другое имя для этой функции, которым и будем пользоваться в проекте (я придумал Звук). Мы должны знать заранее смысл и тип параметров функции и указать их в объявлении. У нас это единственный параметр типа Long, который определяет конкретный звук. Для звука Beep этот параметр равен  -1.




Начало  Назад  Вперед