Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Skype4COM获取所有最近的聊天记录';最近发生了什么_C#_Skype_Skype4com - Fatal编程技术网

C# Skype4COM获取所有最近的聊天记录';最近发生了什么

C# Skype4COM获取所有最近的聊天记录';最近发生了什么,c#,skype,skype4com,C#,Skype,Skype4com,我已经编写了一个获取所有联系人的代码,但现在我想获取所有聊天组。如果您从未使用过Skype4COM API,请不要再阅读本主题 用于收集所有CONTAC try { for (int i = 0; i < skype.HardwiredGroups.Count; i++) if (skype.HardwiredGroups[i + 1].Type == TGroupType.grpAllFriends) {

我已经编写了一个获取所有联系人的代码,但现在我想获取所有聊天组。如果您从未使用过Skype4COM API,请不要再阅读本主题

用于收集所有CONTAC

    try
    {
        for (int i = 0; i < skype.HardwiredGroups.Count; i++)
            if (skype.HardwiredGroups[i + 1].Type == TGroupType.grpAllFriends)
            {
                for (int j = skype.HardwiredGroups[i + 1].Users.Count; j > 0; j--)
                    listBox1.Items.Add(skype.HardwiredGroups[i + 1].Users[j].Handle);
                button17.Enabled = false;
                break;
            }
    }
    catch (Exception eoi){}
试试看
{
对于(int i=0;i0;j--)
listBox1.Items.Add(skype.HardwiredGroup[i+1].Users[j].Handle);
按钮17.启用=错误;
打破
}
}
捕获(异常eoi){}
有没有办法建立一个群组列表

private List<string> getChats(Skype skype)
{
    List<string> r = new List<string>();

    foreach (Chat c in skype.Chats)
         try { r.Add(c.Name); } catch (Exception) {}

    return r;
}

然后你就可以在列表框中的每个项目上使用skype.get_Chat(value)。

Hmm非常好,但是现在我如何让它像我的其他获取联系人的代码那样逐行将它们添加到列表框中。编辑后在最后添加一个示例。但仅供参考,这将是唯一的聊天名称,而不是您在UI中看到的名称。如果你想要用户界面名称,你必须使用
skype.Chats[0].FriendlyName
(但是你不能使用
skype.get_Chat()
FriendlyName
值):)嗯@Josh唯一的问题是我需要它来建立一个友好名称列表,PS:谢谢你的帮助。这里没有多少人对SKYPE4COM了解太多,所以很难找到答案。我同意,这是一个麻烦。你可以很容易地将“名称”更改为“友好名称”,以实现你想要的,但我不确定从友好名称“识别”用户的最佳方法(特别是因为它可以更改)。我能想到的最好的方法是(在try{}块中,而不是现在的内容):
uniqueList.Insert(listBox1.Items.Add(c.FriendlyName),c.Name),其中uniqueList是
List uniqueList=new List()。然后使用
uniqueList[listBox1.Items[listBox1.SelectedIndex]
获取当前在listBox1中所选内容的用户名值。希望有帮助。
foreach (Chat c in skype.Chats) {
     try
     {
         listBox1.Items.Add(c.Name);
     } catch (Exception) {}
}