我在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));
}


请注意,尝试将聊天集中在默认名称(主题列表是主题)的地方,该程序可能无法正确注册。如果存在具有相同主题名称的聊天,也会发生这种情况。

我希望这对您仍然有用,即使已经一年多了:-)

10-08 18:26