2015-02-11 62 views
3


我在Win7 64位机器上使用.NET 4.0。
我正在尝试在我“关注”Skype中的群聊时获取群组名称。当我专注于群聊时,我在ContactsFocused(字符串用户名)中接收到的回拨是用户名的空字符串。回调被执行,但有一个空的参数。 的代码,我写道:如何使用C#中的Skype4COM API获得重点组名称

m_skype = new Skype(); 
.... 
m_skype.ContactsFocused += Skype_ContactsFocused; 
.... 
private void Skype_ContactsFocused(string Username) 
{ 
     //Console.WriteLine("Skype_ContactsFocused is {0}", Username); 
} 

当聚焦单个联系人此代码工作正常,我得到了Skype_ContactFocused回调使用正确的名称作为参数的通知,但组聊天此名称为空。 我的问题是有没有办法获得“集中”组名?
感谢

回答

1

我知道这是一个真正的反应迟缓,但这里是你如何摆脱当前的焦点组别名称:不是读出用户名,你必须读出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)); 
} 

请注意,试图专注聊天,其中名称是默认(名称的列表是主题),该程序可能无法正常注册。如果具有相同主题名称的聊天,也会发生这种情况。

我希望这对你仍有一定的用处,即使它已经过了一年了:-)

相关问题