C# c simple skype应用程序引发COM异常
我正在制作我的第一个Skype应用程序,它可以简单地向用户发送消息,但当我调试时,会出现一个异常,使我的应用程序崩溃。 代码如下:C# c simple skype应用程序引发COM异常,c#,forms,skype,visual-c#-express-2010,skype4com,C#,Forms,Skype,Visual C# Express 2010,Skype4com,我正在制作我的第一个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 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:{连接被拒绝}
所以我想我的主要问题是,为什么Skype甚至没有打开询问我是否允许连接的对话,我的连接就被拒绝了?问题是,您正在尝试在Visual Studio中调试。遗憾的是,他们不支持在VS中使用此API和调试: 根据链接: 最常见的原因是您试图调试程序 在VisualStudio中。今后,我们将无法支持使用 用于调试的visual studio宿主进程。你可以把它关掉 作者: 在VS中打开您的项目 打开您的项目属性 单击调试选项卡 取消选中使用visual studio托管进程 重建应用程序并开始调试,它应该可以正常工作。
我面临同样的问题。这样我就解决了 这是我的密码 首先登录skype并进入工具>选项>高级设置 你的屏幕看起来像 单击管理其他程序对skype的访问 然后会出现另一个窗口,显示所有试图访问skype的程序名。如果存在,只需选择全部并将其删除 然后再次运行您的程序,并转到此选项可用的屏幕,称为“单击管理其他程序对skype的访问” 单击此处,将出现一个窗口,该窗口将显示您的应用程序的名称。只需选择该名称并单击“更改”按钮,然后将出现另一个窗口,该窗口如下所示 在该窗口中,只需选择名为“允许此程序访问skype”的选项,skype窗口就会出现一个对话框,如下所示
您需要单击“允许访问”按钮,然后您的工作将完成。希望这会有所帮助。在“私有无效按钮2\u Clickobject sender,EventArgs e{var oskype=new skype4comblib.Skype;oskype.PlaceCalltextBox1.Text;}”处通过exseption,你的应用程序会显示你还没有登录到Skype。是这样吗?不,我在Visual Studio中登录了SkypedBugging,使用调试是两件完全不同的事情。没关系,我只是构建了解决方案,该应用程序在调试模式下不受支持
Skype skype;
skype = new SKYPE4COMLib.Skype();
Call call = skype.PlaceCall(txtPhonenNo.Text);