加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

[VB.NET]电话拨号

发布时间:2020-12-16 23:55:03 所属栏目:大数据 来源:网络整理
导读:电话拨号 实例说明 在本实例中,我们将制作一个辅助型电话程序。程序运行后,输入有效的电话号码,单击"开始拨号"按钮,即可打开Windows所带的电话拨号程序,即可实现拨号。程序运行结果如图94-1所示。 技术要点 l 创建TAPI应用程序 l TAPI错误处理 图94-1 运
电话拨号

实例说明

在本实例中,我们将制作一个辅助型电话程序。程序运行后,输入有效的电话号码,单击"开始拨号"按钮,即可打开Windows所带的电话拨号程序,即可实现拨号。程序运行结果如图94-1所示。

技术要点

l 创建TAPI应用程序

l TAPI错误处理

图94-1 运行结果

实现过程

■ 新建项目

打开Visual Studio.NET,选择"新建项目",在项目类型窗口中选择"Visual Basic项目",在模板窗口中选择"Windows应用程序",在名称域中输入"AutoDial",然后选择保存路径。单击"确认"。

■ 添加控件

向当前窗体上添加一个Label控件、一个ListBox控件、一个TextBox控件和两个Button按钮。

■ 设置属性

将Label控件和Button按钮的Caption属性设置为跟界面一致,TextBox控件的Text属性置为空。其余属性使用默认值即可。

■ 添加代码

Private Declare Function tapiRequestMakeCall Lib "TAPI32.DLL" (ByVal DestAddress As String,ByVal AppName As String,ByVal CalledParty As String,ByVal Comment As String) As Integer

Const TAPIERR_CONNECTED As Short = 0

Const TAPIERR_DROPPED As Short = -1

Const TAPIERR_NOREQUESTRECIPIENT As Short = -2

Const TAPIERR_REQUESTQUEUEFULL As Short = -3

Const TAPIERR_INVALDESTADDRESS As Short = -4

Const TAPIERR_DESTBUSY As Short = -11

Const TAPIERR_UNKNOWNREQUESTID As Short = -15

Const TAPIERR_REQUESTFAILED As Short = -16

Private Sub Command1_Click(ByVal eventSender As System.Object,ByVal eventArgs As System.EventArgs) Handles Command1.Click

Dim strPhoneNum As String

Dim res As Integer

If Trim(Text1.Text) = "" Then

List1.Items.Add("错误:没有输入电话号码")

Exit Sub

Else

strPhoneNum = Trim(Text1.Text)

End If

res = tapiRequestMakeCall(strPhoneNum,"Tapi Sample",strPhoneNum,"")

Call TapiStatus(res)

End Sub

Private Sub Command2_Click(ByVal eventSender As System.Object,ByVal eventArgs As System.EventArgs) Handles Command2.Click

Me.Close()

End Sub

Private Sub Form1_Load(ByVal eventSender As System.Object,ByVal eventArgs As System.EventArgs) Handles MyBase.Load

EnableDial()

List1.Items.Add("拨号已连接")

End Sub

Private Sub text1_TextChanged(ByVal eventSender As System.Object,ByVal eventArgs As System.EventArgs) Handles text1.TextChanged

EnableDial()

End Sub

Private Sub EnableDial()

Command1.Enabled = Len(Trim(Text1.Text)) > 0

End Sub

Sub TapiStatus(ByRef strres As Integer)

Select Case strres

Case TAPIERR_CONNECTED

List1.Items.Add("拨号已连接")

Case TAPIERR_INVALDESTADDRESS

List1.Items.Add("错误的目的地址")

Case TAPIERR_NOREQUESTRECIPIENT

List1.Items.Add("没有电话接口程序运行")

Case TAPIERR_REQUESTFAILED

List1.Items.Add("拨号请求由于未知原因失败")

Case TAPIERR_DESTBUSY

List1.Items.Add("对方电话正忙")

Case TAPIERR_UNKNOWNREQUESTID

List1.Items.Add("没有这个电话号码")

Case TAPIERR_DROPPED

List1.Items.Add("对方已挂断")

End Select

End Sub

■ 运行程序

单击菜单"调试|启动"或单击 图标运行程序。

小结

TAPI有两种类型:完全型和辅助型。完全型只需要TAPI库,直接操作底层TAPI函数来建立及管理TAPI会话。而辅助型则要求别的部件和程序(如Window系统电话拨号程序),这类应用程序编程比较简单,无需进行很多的编程工作。在我们的实例中使用的是辅助性TAPI,单击"开始拨号"后,出现如图94-2所示的图形。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读