begin process at 2012 02 13 03:25:30
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

API

 > DLL TAPI TRANSCRIPTION PARTIELLE DE LA DLL C++

DLL TAPI TRANSCRIPTION PARTIELLE DE LA DLL C++


 Information sur la source

Note :
10 / 10 - par 1 personne
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :API Niveau :Initié Date de création :29/07/2004 Vu / téléchargé :7 628 / 851

Auteur : DrChal

Ecrire un message privé
Site perso
Commentaire sur cette source (6)
Ajouter un commentaire et/ou une note

 Description

J'ai créé une dll VB qui permet de reproduire les méthodes de la dll "TAPI" en C++. J'a retranscrit le code source C++ en vb et en m'aidant des aides des différents messages que les programmeurs ont laissé.
Cette Dll marche bien et n'utilise pas le comosant MSComm de vb. Donc un objet en mois à instancier et à ajouter dans un package. Elle est basée sur la technologie des API "TAPI". Et elle est très simple d'utilisation.

Source

  • Pour instancier la dll et pour ainsi créer un appel téléphonique
  • suivez les intrusctions suivantes :
  • Dans la forme que vous utiliserez ajouter les objets suivants :
  • - une combobox : Nom = Cmb_Port
  • - une textbox : Nom = Txt_NumTel
  • - une checkbox : Nom = Chk_Standard
  • - Trois boutons : Nom = btn_Raccroche - btn_Quitter - btn_Appel
  • 'déclaration des variables globales
  • Public WithEvents oTapiLine As CvbTAPILine
  • dim strNumPhone as string
  • Private Sub Form_Load()
  • Dim bsucceed As Boolean
  • Dim lLine As Long
  • 'Initialise la classe TAPI
  • Set oTapiLine = New CvbTAPILine
  • 'Affectation de la version la plus basse et de la plus haute du TAPI
  • oTapiLine.LowAPI = &H10003 ' 1.3 = &H00010003
  • oTapiLine.HiAPI = &H30000 ' 3.0 = &H00030000
  • 'initialise et evalue les version de tous les ports
  • bsucceed = oTapiLine.Create
  • 'Charger la combo des ports
  • Cmb_Port.Clear
  • Cmb_Port.AddItem "", 0
  • If bsucceed Then
  • For lLine = 0 To oTapiLine.numLines - 1
  • oTapiLine.CurrentLineID = lLine
  • 'Vérification de la version de la ligne
  • If oTapiLine.NegotiatedAPIVersion Then
  • Cmb_Port.AddItem oTapiLine.LineName, lLine + 1
  • End If
  • Next
  • 'Selectionne la première occurence de la combo
  • Cmb_Port.ListIndex = 0
  • End If
  • End Sub
  • Private Sub Form_Unload(Cancel As Integer)
  • Set oTapiLine = Nothing
  • Unload Me
  • End Sub
  • Private Sub btn_Appel_Click()
  • Dim bStandard As Boolean
  • If Chk_Standard.Value = 1 Then
  • bStandard = True
  • Else
  • bStandard = False
  • End If
  • strNumPhone = Trim(Replace(Txt_NumTel.Text, " ", ""))
  • sbConfigTAPI
  • oTapiLine.oPbStandard = bStandard
  • oTapiLine.oPiPortNumber = Trim(Cmb_Port.ListIndex)
  • oTapiLine.oPsPhoneNumber = strNumPhone
  • oTapiLine.OpenLine
  • oTapiLine.RbCallNumber
  • End Sub
  • Private Sub btn_Raccroche_Click()
  • On Error Resume Next
  • oTapiLine.DropCallAsynch
  • Set oTapiLine = Nothing
  • End Sub
  • Private Sub Quitter_Click()
  • On Error Resume Next
  • Set oTapiLine = Nothing
  • Unload Me
  • End
  • End Sub
  • Private Sub sbConfigTAPI()
  • Dim bsucceed As Boolean
  • 'Initialise la classe TAPI
  • Set oTapiLine = New CvbTAPILine
  • 'Affectation de la version la plus basse et de la plus haute du TAPI
  • oTapiLine.LowAPI = &H10003 ' 1.3 = &H00010003
  • oTapiLine.HiAPI = &H30000 ' 3.0 = &H00030000
  • 'initialise et evalue les version de tous les ports
  • bsucceed = oTapiLine.Create
  • End Sub
Pour instancier la dll et pour ainsi créer un appel téléphonique 
suivez les intrusctions suivantes :
Dans la forme que vous utiliserez ajouter les objets suivants : 
   - une combobox :  Nom  = Cmb_Port
   - une textbox     :  Nom = Txt_NumTel
   - une checkbox   : Nom = Chk_Standard
   - Trois boutons   : Nom = btn_Raccroche  - btn_Quitter -  btn_Appel

'déclaration des variables globales

Public WithEvents oTapiLine As CvbTAPILine
dim strNumPhone as string

Private Sub Form_Load()
Dim bsucceed As Boolean
Dim lLine As Long
'Initialise la classe TAPI
Set oTapiLine = New CvbTAPILine
'Affectation de la version la plus basse et de la plus haute du TAPI
oTapiLine.LowAPI = &H10003 ' 1.3 = &H00010003
oTapiLine.HiAPI = &H30000 '  3.0 = &H00030000
'initialise et evalue les version de tous les ports
bsucceed = oTapiLine.Create
'Charger la combo des ports

Cmb_Port.Clear
Cmb_Port.AddItem "", 0
If bsucceed Then
    For lLine = 0 To oTapiLine.numLines - 1
        oTapiLine.CurrentLineID = lLine
        'Vérification de la version de la ligne
        If oTapiLine.NegotiatedAPIVersion Then
            Cmb_Port.AddItem oTapiLine.LineName, lLine + 1
        End If
    Next
    'Selectionne la première occurence de la combo
    Cmb_Port.ListIndex = 0
End If
End Sub

Private Sub Form_Unload(Cancel As Integer)
Set oTapiLine = Nothing
Unload Me
End Sub

Private Sub btn_Appel_Click()
Dim bStandard As Boolean

If Chk_Standard.Value = 1 Then
    bStandard = True
Else
    bStandard = False
End If
    strNumPhone = Trim(Replace(Txt_NumTel.Text, " ", ""))
    sbConfigTAPI
    oTapiLine.oPbStandard = bStandard
    oTapiLine.oPiPortNumber = Trim(Cmb_Port.ListIndex)
    oTapiLine.oPsPhoneNumber = strNumPhone
    oTapiLine.OpenLine

    oTapiLine.RbCallNumber
End Sub

Private Sub btn_Raccroche_Click()
On Error Resume Next

    oTapiLine.DropCallAsynch
   Set oTapiLine = Nothing

End Sub

Private Sub Quitter_Click()
On Error Resume Next
Set oTapiLine = Nothing
Unload Me
End
End Sub

Private Sub sbConfigTAPI()
Dim bsucceed As Boolean

'Initialise la classe TAPI
Set oTapiLine = New CvbTAPILine
'Affectation de la version la plus basse et de la plus haute du TAPI
oTapiLine.LowAPI = &H10003 ' 1.3 = &H00010003
oTapiLine.HiAPI = &H30000 '  3.0 = &H00030000
'initialise et evalue les version de tous les ports
bsucceed = oTapiLine.Create
End Sub


 Conclusion

Voilà si vous avez des idées d'évolutions, faites m'en part.


 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip DLL UTILISANT LE MODEM POUR APPELER UN NUMÉRO DE TEL
Source avec Zip COMPARAISON DE FICHIER IMAGE

 Sources de la même categorie

Source avec Zip Source .NET (Dotnet) .NET DEPENDENCY VIEWER : ARBRE DES DÉPENDANCES D'UN ASSEMBLY... par ShareVB
Source avec Zip Source .NET (Dotnet) UTILITAIRE SKYDRIVE par MasterShadows
Source avec Zip ROTATION RAPIDE D'IMAGE par trex70
Source avec Zip Source avec une capture ENUMERATION DES PORTS TCP ET IDENTIFCATION DU PROCESS (PID) ... par Renfield
Source avec Zip Source avec une capture MOUSE SPEED AND WEIGHT : RETOUR DE FORCE VIRTUEL ! par ScSami

Commentaires et avis

Commentaire de jack le 29/07/2004 18:43:49 administrateur CS

Salut DrChal
Pour les curieux :
TAPI = Telephony Application Programming Interface

Ta DLL utilise la DLL TAPI32.DLL : Comment faut-il la déclarer ? Les préférences n'en veulent pas.

Aurais-tu une petite appli de démo ?
En gros : ça sert à quoi ?

Commentaire de salazar le 19/01/2005 16:26:46

Très interessant !
Comment un programme externe peut faire appel à ta DLL ?

Merci.

Commentaire de DrChal le 19/01/2005 22:11:44

Salut,
Ma Dll retranscris en gros les méthodes du composant TAPI32.dll mais pas tout car celle-ci est trop compliqué, j'utilise les API.

Pour utiliser CL_Phone_TAPI, il faut  instancier dans les références du projet  ce composant. Puis dans le projet, tu peux créer sur la forme les objets suivant:
un bouton Appel
un bouton raccrocher
une checkbox qui spécifie si la ligne est derrière un standard
une textbox où l'on saisira le numéro de telephone
une combo qui comportera la liste les différents ports du pc
ceux-ci appellent les méthodes suivantes :

'Declaration de l'objet

Public WithEvents oTapiLine As CvbTAPILine

Private Sub Form_Load()
Dim bsucceed As Boolean
Dim lLine As Long

'Initialise la classe TAPI
Set oTapiLine = New CvbTAPILine
'Affectation de la version la plus basse et de la plus haute du TAPI
oTapiLine.LowAPI = &H10003 ' 1.3 = &H00010003
oTapiLine.HiAPI = &H30000 '  3.0 = &H00030000
'initialise et evalue les version de tous les ports
bsucceed = oTapiLine.Create
'Charger la combo des ports

Cmb_Port.Clear
Cmb_Port.AddItem "", 0
If bsucceed Then
    For lLine = 0 To oTapiLine.numLines - 1
        oTapiLine.CurrentLineID = lLine
        'Vérification de la version de la ligne
        If oTapiLine.NegotiatedAPIVersion Then
            Cmb_Port.AddItem oTapiLine.LineName, lLine + 1
        End If
    Next
    'Selectionne la première occurence de la combo
    Cmb_Port.ListIndex = 0
End If
End Sub

Private Sub btn_Appel_Click()
Dim strNumPhone As String
Dim bStandard As Boolean

If Chk_Standard.Value = 1 Then
    bStandard = True
Else
    bStandard = False
End If

If Txt_NumTel.Text = "" Then
   strNumPhone = "0328000102"
Else
    strNumPhone = Trim(Replace(Txt_NumTel.Text, " ", ""))
End If

    'initialisation de l'objet
    sbConfigTAPI
    oTapiLine.oPbStandard = bStandard
    oTapiLine.oPiPortNumber = Trim(Cmb_Port.ListIndex)
    oTapiLine.oPsPhoneNumber = strNumPhone
    oTapiLine.OpenLine

    oTapiLine.RbCallNumber
End Sub


Private Sub btn_Raccrocher_Click()
On Error Resume Next

oTapiLine.DropCallAsynch
Set oTapiLine = Nothing

End Sub



Private Sub sbConfigTAPI()
Dim bsucceed As Boolean

'Initialise la classe TAPI
Set oTapiLine = New CvbTAPILine
'Affectation de la version la plus basse et de la plus haute du TAPI
oTapiLine.LowAPI = &H10003 ' 1.3 = &H00010003
oTapiLine.HiAPI = &H30000 '  3.0 = &H00030000
'initialise et evalue les version de tous les ports
bsucceed = oTapiLine.Create
End Sub


J'espère que ce petit exemple te servira. Je mettra le source prochainement en ligne

Bye

Commentaire de jack le 19/01/2005 22:50:57 administrateur CS

Petite erreur :

Public Property Get oPiPortNumber() As Integer
    If oPiPortNumber = 0 Then

C'est iOpiPortNumber dans le If
sinon, le Get renverra tjrs 1

Commentaire de Filipe35 le 21/02/2005 03:24:45

salut,

comment envoyer des données ?

merci

Filipe

Commentaire de HakNouveau le 29/04/2005 10:52:50

Bonjour, je souhaiterai savoir d'où tu peux avoir cette ligne:
Public WithEvents oTapiLine As CvbTAPILine
je ne peux pas avoir le as "cvbTapiline"
c'est con mais c'est au niveau des références  que ça bloque...
merci de m'eclaircir si tu le peux...
Akim

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,858 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales