我在Win7 64位计算机上使用.NET 4.0。
当我“专注于” Skype中的群聊时,我试图获取组名。当我专注于群聊时,我在ContactsFocused(string Username)回调中收到的是Username的空字符串。回调已执行,但参数为空。
我写的代码:
m_skype = new Skype();
....
m_skype.ContactsFocused += Skype_ContactsFocused;
....
private void Skype_ContactsFocused(string Username)
{
//Console.WriteLine("Skype_ContactsFocused is {0}", Username);
}
当聚焦单个联系人时,此代码可以正常工作,我在Skype_ContactFocused回调中收到一条通知,其中使用正确的名称作为参数,但在群聊中此名称为空。
我的问题是,有没有一种方法可以获取“集中的”组名?
谢谢
最佳答案
我知道这是一个很晚的响应,但是这是您获取当前关注的组名的方法:您必须读出m_skype.ActiveChats[1].Topic
而不是读出用户名。如果您想查看朋友的屏幕名称而不是他们的登录用户名,也可以读出m_skype.ActiveChats[1].FriendlyName
。这是您的中断的样子:
private static void Skype_ContactsFocused(string Username)
{
//Console.WriteLine("Skype_ContactsFocused is {0}", Username);
Console.WriteLine("Skype_ContatsFocused is " + ((m_skype.ActiveChats[1].Topic != "") ? m_skype.ActiveChats[1].Topic : m_skype.ActiveChats[1].FriendlyName));
}
请注意,尝试将聊天集中在默认名称(主题列表是主题)的地方,该程序可能无法正确注册。如果存在具有相同主题名称的聊天,也会发生这种情况。
我希望这对您仍然有用,即使已经一年多了:-)