0

I need to write application which start automatically Skype and then, if user remembered his username and password, make a call to particular other user. I've already made the first step, I know how to start Skype.

RegistryKey skype = Registry.CurrentUser.OpenSubKey(@"Software\Skype\Phone");
string skypePath="";

if (skype != null && skype.GetValue("SkypePath") != null)
    skypePath=skype.GetValue("SkypePath").ToString();

System.Diagnostics.Process.Start(skypePath);

But I don't know how can i control that application and make a call. Maybe you can give me some tips what can I do? I can just add, that I can't use Skype API, because I can't ask user for nickname and password.

halfer
  • 19,824
  • 17
  • 99
  • 186
matikycz
  • 11
  • 1
  • 6
  • I should imagine Skype has some API mechanism to allow limited remote control of its software. I don't think you should encourage users to give you their Skype credentials though - if they are sensible they will refuse. – halfer Jun 12 '14 at 19:22

1 Answers1

0

some time ago I developed an encryption plugin for skype. There is a COM wrapper you can use with C#. You can download it from here:

http://developer.skype.com/

You will need a skype account in order to sign in and download it.

By the way, some people have already asked the same (or similar) querstion:

Implementation of Skype API

Skype - How to get started?

C# Skype Plugin

Community
  • 1
  • 1
tY Software
  • 264
  • 3
  • 10
  • Thank you so much. I think that is really good. I have one question. Can I omit authorisation from user my application? And also quit different question. How can I general control any other aplication, not just skype. Is it possible to have one for all or i need to use different API all the time? – matikycz Mar 07 '14 at 15:28
  • 1. What do you mean by "omit authorization"? You can save the credentials and enter them automatically. But you surely cannot completely skip authorization. – tY Software Mar 07 '14 at 22:58
  • 2. There are two ways to control an other application: Using a SDK or UIAutomation. All applications are different, so there is no general way. What are you trying to achieve? You should look into documentation of the Skype API and .NET. You should be able to find all information you need. If not, don't hesitate to ask. – tY Software Mar 07 '14 at 23:10
  • 1. I just want, that the authorization will be made by my application and user will not have to accept the application manually. And I don't know how to make that automatic accepting. 2. Thanks a lot. I will try to find some informations in internet about SDK and UIAutimation. What am I trying to achieve? I want for example to fill some textbox in other aplication, click buttons and sth like that. – matikycz Mar 07 '14 at 23:49
  • Yes, this will work. And yes, this is done by UIAutomation. See following link to learn about: http://msdn.microsoft.com/en-us/library/ms747327(v=vs.110).aspx – tY Software Mar 08 '14 at 01:49
  • I read about UIAutomation and i know a bit more. I know how to click on button if I know his name in code (in application wrote by me earlier). But I don't know yet how can I get a name of button from other application eg. Skype. I mean a button, where I need to accept my application. Is it a smart idea, how to do it? – matikycz Mar 08 '14 at 10:43
  • You will need to know the text of the button or you can iterate through the controls. UIAutomation is a powerful Instrument and you will have to investigate further. If you don't want to learn about, you could also use TestStack.White (a .Net automation framework). It's very easy to use. – tY Software Mar 08 '14 at 10:58