Olá galera, nesta Quick Tips, irei mostra como podemos trabalhar com o Skype, usando ActiveX do mesmo, dentro do Delphi. Estou usando a versão do Skype 4.2.0.158, com o Delphi 2010. Continuando com o exemplo, vamos agora finalizar o exemplo, implementando alguns métodos diretamente nos eventos dos componentes
DbClick dos ListView
Usando este evento iremos enviar mensagem diretamente para um usuário selecionado no ListViewListaContato;
procedure TFrmPrincipal.ListViewListaContatoDblClick(Sender: TObject);
Var
Msg : WideString;
begin
Msg := InputBox('Enviar Mensagem','Digite a mensagem', Msg);
Skype1.SendMessage(ListViewListaContato.ItemFocused.Caption, Msg);
end;
Usando este evento iremos enviar mensagem diretamente para um usuário selecionado no ListViewListaJanelasAbertas;
procedure TFrmPrincipal.ListViewListaJanelasAbertasDblClick(Sender: TObject);
Var
Msg : WideString;
begin
Msg := InputBox('Enviar Mensagem','Digite a mensagem', Msg);
Skype1.SendMessage(ListViewListaJanelasAbertas.ItemFocused.Caption, Msg);
end;
Click dos TToolButton
Limpando o histórico das conversas
procedure TFrmPrincipal.TlbLimparHistoricoClick(Sender: TObject);
begin
Skype1.ClearChatHistory;
end;
Localizando os usuários no Skype
procedure TFrmPrincipal.TlbLocalizarUsuarioClick(Sender: TObject);
Var
U : IUserCollection;
Usuario : IUser;
I: Integer;
Item : TListItem;
begin
ListViewListaLocalizarUsuario.Clear;
U := Skype1.SearchForUsers(EdtPesquisaContato.Text);
for I := 1 to U.Count do
begin
Usuario := U.Item[I];
Item := ListViewListaLocalizarUsuario.Items.Add;
Item.Caption := Usuario.Handle;
Item.SubItems.Add(Usuario.FullName);
Item.SubItems.Add(Usuario.City);
end;
ShowMessage('Finalizou a busca !!! ');
end;
O Exemplo esta finalizado, levantei apenas as funções mais usadas, existem muitas outras Interfaces, dentro do ActiveX do Skype, uma dica apenas todas as Interfaces são bem simples, similares IUserCollection, então para quem tiver curiosidade basta olhar o exemplo TlbLocalizarUsuarioClick, e ir estudando.
Atenção apenas no seguinte, toda vez que você executar seu projeto, o Skype irá subir uma mensagem

Veja que no exemplo este Skype1.exe, pois estava testando com o Skype.exe, e depois de um certo número de compilações o mesmo bloqueou o executável, então caso isso aconteça com você basta mudar o nome do projeto.

Obs : Fiz os testes com meu Skype aberto
Fico por aqui ate à próxima Quick Tips. Baixe neste post o exemplo completo.
Um abraço
Wesley Y
wesley@lithic.com.br