2

我正在制作我的第一个 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)
        {

        }
    }
}

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

  • 微软.Csharp
  • SKYPE4COMlib
  • SkypeDialoglib
  • 系统
  • 系统核心
  • 系统数据
  • system.data.DataSetEXTensions
  • 系统部署
  • 系统图
  • System.Windows.forms
  • System.xml.linq

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

4

2 回答 2

10

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

根据链接:

对此的评论最多的原因是您试图在 Visual Studio 中调试程序。展望未来,我们将无法支持使用 Visual Studio 托管进程进行调试。您可以通过以下方式将其关闭:

  • 在 VS 中打开你的项目
  • 打开您的项目属性
  • 单击调试选项卡
  • 取消勾选“使用视觉工作室托管过程”
  • 重建您的应用程序并开始调试,它应该可以正常工作。
于 2013-07-10T20:28:27.600 回答
2

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

这是我的代码

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,然后您的工作将完成。希望这会有所帮助。

于 2014-03-14T08:42:01.337 回答