我正在编写代码,以便为教育机构自动化Skype的某些功能。一种方法需要通过C#使用skype4com.dll发送命令。
向Skype发送命令没有问题,它可以做出适当的响应。但是,我无法读取已发送命令返回的任何信息。
例如,命令GET SKYPEVERSION
应该给出版本号的响应。但是,我的代码什么也没收到。我可能做错了。
网上没有关于如何使用skype4com.dll的完整信息源(我可以找到)(包括来自developer.skype.com的存档信息)。
下面是我在C#中试图解决这个问题的代码示例(在控制台应用程序中进行测试)。
主要:
// initialize Skype
Skype oSkype = new Skype();
if (!oSkype.Client.IsRunning)
oSkype.Client.Start();
Console.WriteLine("Wait for Skype to load, then press ENTER");
Console.ReadLine();
// This works fine, hiding the Skype screen
Console.WriteLine("Attempting to hide Skype window using Skype commands");
Command sComm = new Command();
sComm.Blocking = true;
sComm.Timeout = 2000;
sComm.Command = "SET WINDOWSTATE HIDDEN";
oSkype.SendCommand(sComm);
// This returns nothing (nor do other commands)
Console.WriteLine("Attempting to read Skype window status using Skype commands");
Command sComm = new Command();
sComm.Blocking = true;
sComm.Timeout = 2000;
sComm.Command = "GET WINDOWSTATE";
oSkype.SendCommand(sComm);
Console.WriteLine("Reply after Skype command executed:");
Console.WriteLine(sComm.Reply); // NOTHING... NADA... ZIP...
2018年很难找到关于如何做到这一点的信息。希望有人可能会记得如何使用这个DLL。