Какво е API

Какво е API?

API - е съкращение от Приложен програмен интерфейс. По принцип всяка програма, операционна система и т.н. Разполага със собствен API. Windows - API се състои от редица функции, които ви позволяват да използвате Windows система дизайн. Всички Windows-API-функции са написани на C ++, но вашите програми ще могат да ги използват лесно в Visual Basic'a. API-функция, трябва задължително да декларира! Декларация на API-функция има следния синтаксис:







[Public | Частна] Декларирам име Функция Lib "libname" [Alias ​​"aliasname"] [([arglist])] [Като тип]

Забележка: Ако функцията API ви очаква за една променлива, трябва да сте сигурни, за да го декларира и попълване на бланки. Т.е. променлива трябва да бъде дефинирана от потребителя. Този език функции на C ++, който е написан от Windows-API.

Да разгледаме няколко примера:

Да предположим, че вашата кандидатура, трябва да се определи директорията, в която операционната система е Windows 95/98 / NT. Аз го най-лесният начин да направите, като се използва API-функция GetWindowsDirectory на.

1. Модулът декларира API-функция GetWindowsDirectory на:

Декларирам Функция GetWindowsDirectory Lib "kernel32" Alias ​​_
"GetWindowsDirectoryA" (ByVal lpBuffer Както стринга, ByVal _
nРазмер: толкова дълго), докато

2. Модулът декларира променлива, например, WinDir, която трябва да се настрои на името на директорията.

Публична WinDir Както стринга

3. В Главна подпрограмата се вписват:

"Променливи, които трябва да бъдат прехвърлени на API, които имаме
"Обяви и сега запълва празнината.






"Пропуските трябва да са толкова много,
"Приблизително колко символа трябва да бъде променлива.
"В този случай, достатъчно и 20, както Windows обикновено е инсталиран в
"От: \ Windows или C: \ Win95 и т.н. Т.е. размер на героите, а
"Просто няма да надвишава 20
WinDir = пространство (20)
Debug.Print Left (WinDir, GetWindowsDirectory (WinDir, 20))
"Тъй API е функция, тя трябва да се върне някои
"Стойност. В този случай, функцията връща GetWindowsDirectory
"Дължината на желаната стойност. Т.е. например, ако желаната стойност
"Е C: \ WINDOWS, тогава функцията връща стойност от 10.
"Променлива същата дължина имат 20. Тези 10 символа са написани
"На първо място, а след това отиде на 10 места. Защо, питам аз,
"Екстра 10 символа? В края на краищата, тя се използва ненужна памет.
"Поради това, инструкциите на левицата, изваждаме променлива WinDir
"Просто достатъчно водещи символи, както е необходимо на всички.

Друг пример:
Например, програмата трябва да се определи кои от вашите медии е, CD-ROM или дистанционно и т.н. "Индианци" Визуални инструменти Basic'a ​​не позволяват това - трябва да се прибегне до използване на API-функция GetDriveType на.

1. Модулът декларира API-функция GetDriveType на:

Декларирам Функция GetDriveType Lib "kernel32" Alias ​​_
"GetDriveTypeA" (ByVal NDrive Както стринга), докато
"Под параметър NDrive podrzumevaetsya на, писмо от латинската
"Азбука плюс dvoetechie, т.е. потенциал буквата, например C:

2. В Главна подпрограмата се вписват:

"За цикъла тук. Напред "фишове" функция GetDriveType всички писма
"Латиница в ред. Chr функция преобразува стойности
"ASCII таблица (от 0 до 255) в писмото. Така че 65 е буквата А, а 90 е Z
Дим myDrive Като цяло число
За myDrive = 65 до 90
Debug.Print Chr (myDrive) ":" "-" GetDriveType (Chr (myDrive) "")
до

Това е, което функцията върне нас GetDriveType, например имам:
A: - 2
C: - 3
D: - 3
Е: - 5
Всички останали букви са с номер 1. Да маркирани, че да се разбере тези знаци трябва да знаете следната таблица:

Константи Име: Значение:

DRIVE_UNKNOWN 0
DRIVE_NO_ROOT_DIR 1
DRIVE_REMOVEABLE 2
DRIVE_FIXED 3
DRIVE_REMOTE 4
DRIVE_CDROM 5
DRIVE_RAMDISK