VB.Net Tutorial/Windows/TAPI

Материал из VB Эксперт
Версия от 15:56, 26 мая 2010; Admin (обсуждение | вклад) (1 версия)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

TAPI, Dial a phone number

<source lang="vbnet">Imports System.Windows.Forms public class PhoneTAPI

  public Shared Sub Main
       Application.Run(New Form1)
  End Sub

End class Public Class Form1

   Inherits System.Windows.Forms.Form
   Public Sub New()
       MyBase.New()
       InitializeComponent()
   End Sub
   Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
       If disposing Then
           If Not (components Is Nothing) Then
               components.Dispose()
           End If
       End If
       MyBase.Dispose(disposing)
   End Sub
   Private components As System.ruponentModel.IContainer
   Friend WithEvents TextBox1 As System.Windows.Forms.TextBox
   Friend WithEvents Label1 As System.Windows.Forms.Label
   Friend WithEvents Button1 As System.Windows.Forms.Button
   Friend WithEvents Label2 As System.Windows.Forms.Label
   Friend WithEvents Button2 As System.Windows.Forms.Button
   <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
       Me.TextBox1 = New System.Windows.Forms.TextBox
       Me.Label1 = New System.Windows.Forms.Label
       Me.Button1 = New System.Windows.Forms.Button
       Me.Label2 = New System.Windows.Forms.Label
       Me.Button2 = New System.Windows.Forms.Button
       Me.SuspendLayout()
       "
       "TextBox1
       "
       Me.TextBox1.Location = New System.Drawing.Point(120, 32)
       Me.TextBox1.Name = "TextBox1"
       Me.TextBox1.Size = New System.Drawing.Size(152, 20)
       Me.TextBox1.TabIndex = 0
       Me.TextBox1.Text = ""
       "
       "Label1
       "
       Me.Label1.Location = New System.Drawing.Point(16, 32)
       Me.Label1.Name = "Label1"
       Me.Label1.Size = New System.Drawing.Size(104, 32)
       Me.Label1.TabIndex = 1
       Me.Label1.Text = "Phone #"
       "
       "Button1
       "
       Me.Button1.Location = New System.Drawing.Point(64, 72)
       Me.Button1.Name = "Button1"
       Me.Button1.Size = New System.Drawing.Size(64, 24)
       Me.Button1.TabIndex = 2
       Me.Button1.Text = "Dial"
       "
       "Label2
       "
       Me.Label2.Location = New System.Drawing.Point(32, 120)
       Me.Label2.Name = "Label2"
       Me.Label2.Size = New System.Drawing.Size(240, 104)
       Me.Label2.TabIndex = 3
       Me.Label2.Text = "Message"
       "
       "Button2
       "
       Me.Button2.Location = New System.Drawing.Point(160, 72)
       Me.Button2.Name = "Button2"
       Me.Button2.Size = New System.Drawing.Size(64, 24)
       Me.Button2.TabIndex = 4
       Me.Button2.Text = "Exit"
       "
       "Form1
       "
       Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
       Me.ClientSize = New System.Drawing.Size(292, 246)
       Me.Controls.Add(Me.Button2)
       Me.Controls.Add(Me.Label2)
       Me.Controls.Add(Me.Button1)
       Me.Controls.Add(Me.Label1)
       Me.Controls.Add(Me.TextBox1)
       Me.ResumeLayout(False)
   End Sub
   Declare Auto 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_NOREQUESTRECIPIENT As Short = -2
   Const TAPIERR_REQUESTQUEUEFULL As Short = -3
   Const TAPIERR_INVALDESTADDRESS As Short = -4
   Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
       Dim Str As String
       Dim t As Short
       Dim buff As String
       Str = Trim(TextBox1.Text)
       Try
           t = tapiRequestMakeCall(Str, "Dial", Str, "")
       Catch ex As Exception
           Label2.Text = "Error"
       End Try
       If t <> 0 Then
           buff = "Error"
           Select Case t
               Case TAPIERR_NOREQUESTRECIPIENT
                   buff = buff & "No windows Telephony dialing application  is running and none could be started."
               Case TAPIERR_REQUESTQUEUEFULL
                   buff = buff & "The queue of pending Windows Telephony dialing requests is full."
               Case TAPIERR_INVALDESTADDRESS
                   buff = buff & "The phone number is not valid."
               Case Else
                   buff = buff & "Unkown error."
           End Select
       Else
           buff = "Dialing"
       End If
       Label2.Text = buff
   End Sub
   Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
       End
   End Sub

End Class</source>