繁体   English   中英

c#simple skype app抛出COM异常

[英]c# simple skype app throws COM exception

我正在制作我的第一个Skype应用程序,它可以简单地向用户发送消息,但是当我调试时,我得到一个异常会导致我的应用程序崩溃 这是代码:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using skype_app;
using SKYPE4COMLib;

namespace skype_app
{
    public partial class Form1 : Form
    {

        public Form1()
        {
            InitializeComponent();

        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }



        private void button2_Click(object sender, EventArgs e)
        {
            var oskype = new SKYPE4COMLib.Skype();
            oskype.PlaceCall(textBox1.Text);
        }

        private void textBox1_TextChanged(object sender, EventArgs e)
        {

        }

        private void button1_Click(object sender, EventArgs e)
        {
           var oskype = new SKYPE4COMLib.Skype();
           oskype.SendMessage(textBox1.Text, textBox2.Text);
        }

        private void textBox2_TextChanged(object sender, EventArgs e)
        {

        }
    }
}

我使用了一些额外的参考文献列表:

  • Microsoft.Csharp
  • SKYPE4COMlib
  • SkypeDialoglib
  • 系统
  • System.Core程序
  • system.data
  • system.data.DataSetEXTensions
  • system.deployment
  • 系统绘图
  • System.Windows.Forms的
  • System.Xml.Linq的

以下是我得到的异常:System.RUntime.InteropServices.ComException:{“connection refused”}所以我想我的主要问题是为什么我的连接被拒绝当Skype甚至没有打开对话框询问我是否允许连接?

问题是您正在尝试在Visual Studio中进行调试。 不幸的是, 根据Skype本身 ,他们不支持在VS中使用此API和调试:

根据链接:

最常见的原因是您尝试在Visual Studio中调试程序。 展望未来,我们将无法支持使用visual studio托管流程进行调试。 你可以通过以下方式关闭它:

  • 在VS中打开您的项目
  • 打开你的项目属性
  • 单击调试选项卡
  • 解开“使用visual studio hosting process”
  • 重建您的应用程序并开始调试它应该工作正常。

我面临同样的问题。 这样我解决了它。

这是我的代码

Skype skype;
skype = new SKYPE4COMLib.Skype();
Call call = skype.PlaceCall(txtPhonenNo.Text);

首先登录到Skype,然后转到工具>选项>高级设置

你的屏幕看起来像 在此输入图像描述

点击管理其他程序对Skype的访问权限

然后会出现另一个窗口,它会显示尝试访问Skype的所有程序名称。 如果存在,只需选择全部并删除它。

然后再次运行您的程序并转到该选项可用的屏幕,点击管理其他程序对Skype的访问权限

点击那里,将出现一个窗口,它将显示你的应用程序的名称,只需选择该名称,然后单击更改按钮,然后会出现另一个窗口,看起来像 在此输入图像描述

在那个窗口中只需选择名为allow this program to access skype的选项,然后在Skype窗口上显示一个对话框 在此输入图像描述 你需要点击allow access button ,然后你的工作将完成。 希望这会有所帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM