Torna al Thread

Imports Asterisk.NET.FastAGI Imports Asterisk.NET.Manager Public Class frmInformazioni Public x_max As Integer Public y_max As Integer Public c_aperte As Integer 'finestre di comunicazione chiamata aperte Public t_aperte As Integer 'finestre di visualizzazione telecamera aperte 'EVENTO DA PASSARE AL THREAD Public evento As Asterisk.NET.Manager.Event.DialEvent 'QUESTA DICHIARAZIONE E' QUELLA CHE SERVE PER EFFETTUARE LA CONNESSIONE E SPECIFICANDO WITHEVENTS 'PERMETTE DI INTERCETTARE TUTTI GLI EVENTI DAL PROTOCOLLO AGI DI ASTERISK PER CREARE FACILMENTE APPLICAZIONI 'INTERFACCIABILI CON TUTTI I CENTRALINI BASATI SU ASTERISK 'SARETE ALTRESI' FACILITATI DAL FATTO CHE OGNI EVENTO DEL CENTRALINO VI VERRA' INVIATO NELLA FINESTRA DI 'DEBUG DEL VISUAL STUDIO. IN MODO DA POTER FACILMENTE CAPIRE QUALI SONO LE VARIABILI DA UTILIZZARE Public WithEvents dam As New AsteriskManager("IP DI ASTERISK", "PORTA DA USARE", "USER", "PASSWORD") Private Sub frmInformazioni_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'TROVO L'ANGOLO IN BASSO A DESTRA DELLO SCHERMO x_max = Screen.PrimaryScreen.WorkingArea.Width - 10 y_max = Screen.PrimaryScreen.WorkingArea.Height - 10 c_aperte = 1 t_aperte = 1 Try dam.Login() 'effettua il login ad ASTERISK Application.DoEvents() Catch ex As Exception 'IN CASO DI ERRORE [:?] dam.Logoff() MsgBox(ex.Message, MsgBoxStyle.Critical, "ERRORE VOIP") Me.Close() Application.DoEvents() Application.Exit() End Try End Sub Private Sub dam_Dial(ByVal sender As Object, ByVal e As Asterisk.NET.Manager.Event.DialEvent) Handles dam.Dial evento = e Dim t As New Threading.Thread(AddressOf mostrafinestra) t.Start() Application.DoEvents() End Sub Private Sub mostrafinestra() Application.DoEvents() Dim x As New frmAvviso x.Top = y_max - (x.Height * c_aperte) x.Left = x_max - x.Width c_aperte += 1 x.txt_Chiamato.Text = evento.Destination x.txt_ChiamanteNumero.Text = evento.CallerId x.txt_ChiamanteNome.Text = evento.CallerIdName x.TopMost = True x.Show() Application.DoEvents() Threading.Thread.Sleep(4000) x.Close() If c_aperte > 0 Then c_aperte -= 1 End If Application.DoEvents() x = Nothing End Sub End Class
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5