Здравствуйте, уже давно экспериментирую с разными API, крупных программ, приложений, сервисов, которые предоставляют возможность использовать свои данные через API. Разработчики нам также предоставляют использовать API и писать свои приложения под Skype. При написании приложений я столкнулся с массой неудобств, ну не с массой, я только с данной библиотекой сам начал разбираться, но пару неудобств скажу. Во-первых для того, чтобы использовать данные Skype (своего аккаунта) он естественно должен быть запущен, Vkontakte API такого нету, все можно авторитизироваться через программный интерфейс и работать с данными, но в Skype такого к сожалению нету. Во-вторых, при работе с данными Skype все время необходимо давать доступ в Skype для Вашего приложения. То есть в главном окне Skype появляется всплывающее сообщение о том, что такое-то приложение хочет получить доступ к данным, Skype запрашивает разрешение на доступ к данным Вашего приложения и Вы выбираете да или нет. С одной стороны, эти все действие оправданы, то есть очень хорошая безопасность и за все отвечает только сам пользователь (за потерю данных, например). Данная статья является вводной, мы сделаем небольшой обзор данной библиотеки. Во-первых мы рассмотрим где взять вообще эту библиотеку и как ее установить, а во-вторых рассмотрим как, например узнать версию Skype или Ваше имя в Skype, то есть все примитивно. Ну что, давайте начнем с установки Skype. Если у Вас уже установлено само приложение Skype, то качать дополнительных библиотек Вам уже не нужно. Запустим Delphi и выполним команду Component-Import ActiveX Control... Далее в списке ищем библиотеку Skype4Com, которая записана в списке как Skype4Com 1.0 Type Library (Version 1.0) Ну а дальше нажимаем на кнопку «Install» и устанавливаем как обычный компонент. После этого на вкладке ActiveX не должно появиться никакого компонента, но необходимо в Uses подключить модуль SKYPE4COMLib_TLB. Далее мы в этой статье определим версию, установленного Skype, а также узнаем свой собственный ник и наше нахождение, то есть, другими словами страну, которую Вы указывали при регистрации. Кстати, вот только, что еще один минус заметил, что когда Ваше приложение у Skype запрашивает разрешение на получение данных, то в это время Ваше приложение зависает до того момента как Вы не разрешите или не запретите доступ для Вашего приложения. Кстати, если Вы запретите доступ для Вашего приложения, то просто-напросто будет ошибка, так что не забывайте ее отслеживать. На форме у меня следующие компоненты *TButton *TListView TListView - в нем мы будем отображать результат сразу с заголовками. В свойстве ViewStyle компонента TListView я установил в vsReport. После этого нажал по двойным щелчком мыши по компоненту TListView и создал 2 колонки Name и Result. После чего на событие OnClick кнопки написал следующий код Код: procedure TForm1.Button1Click(Sender: TObject); var Skype:TSkype; i:integer; begin try ActiveX.CoInitialize(nil); Skype:=SKYPE4COMLib_TLB.TSkype.Create(nil); Skype.Attach(6,True); ListView1.Items.Add.Caption:='Version'; ListView1.Items.Item[0].SubItems.Add(Skype.Version); ListView1.Items.Add.Caption:='Name'; ListView1.Items.Item[1].SubItems.Add(Skype.CurrentUserHandle); ListView1.Items.Add.Caption:='Location'; ListView1.Items.Item[2].SubItems.Add(Skype.PredictiveDialerCountry); FreeAndNil(Skype); except on e:Exception do ShowMessage(e.Message); end; end; Первой строчкой мы инициализируем COM библиотеку на всякий случай, хоть и в данном случае необязательно. С помощью Skype.Attach(6,True) мы подключаемся к нашему API, ну а дальше используем обычные свойства и функции нашей библиотеки (версия, ник, местонахождение). Дальше будем рассматривать как отправлять сообщения, искать пользователей, а также получать список контактов.