Utilice VB6.0 para implementar la marcación
Esto
5 controla TEXTO1 TEXTO2 TIMER1 TIMER2 COMMAND1
Establecer intervalo del temporizador1=1000
intervalo del temporizador2=500
text1.text=1
text2.text=El valor que desea establecer es segundos
Private Sub Command1_Click()
if text1gt then text2; Lo que quieres hacer es cerrar la conexión o apagar la computadora
End Sub
Private Sub Timer1_Timer()
Text1 = Text1 1
Finalizar sub
Sub privado Timer2_Timer()
Comando1_Clic
Finalizar sub
O...
Nuestro software de uso común, como: JETCAR (ahora FLASHGET), GO! ZILLA, etc. tienen funciones de acceso telefónico a Internet. Entonces, ¿cómo implementas las funciones anteriores en tus propias aplicaciones? Este artículo utiliza llamadas RAS para presentar cómo implementar el acceso telefónico a Internet en aplicaciones escritas por usted mismo.
1. Estructuras y funciones relacionadas con las redes de acceso telefónico
1. Estructura RASDIALPARAMS95 Su definición es la siguiente:
Tipo Público RASDIALPARAMS95
.dwSize tan largo
szEntryName(RAS95_MaxEntryName) como byte
szPhoneNumber(RAS95_MaxPhoneNumber) como byte
szCallbackNumber(RAS95_MaxCallbackNumber) como byte
szUserName (UNLEN) como byte
szPassword(PWLEN) como byte
szDomain(DNLEN) como byte
Tipo de fin
Entre ellos, dwSize Representa el tamaño de la estructura en bytes. szEntryName representa un nombre de entrada de acceso remoto, que es el texto pequeño del icono de conexión en la red de acceso telefónico en WINDOWS; el parámetro szEntryName es una cadena vacía, lo que indica que solo se establece el primer MÓDEM válido para establecer una conexión remota. szPhoneNumber representa el número al que llamar. Cuando szEntryName está vacío, zPhoneNumber no puede estar vacío. szCallbackNumber representa el número de devolución de llamada, que generalmente está vacío. szUserName es el nombre de usuario utilizado para establecer el acceso remoto. szPassword es la contraseña para establecer el acceso remoto. szDomain es el nombre de dominio para la autenticación de nombre de usuario y contraseña de acceso remoto. Configuramos szDomain como vacío, lo que indica que el servidor de acceso remoto también es miembro de este nombre de dominio.
2. Función RASDIAL Su declaración API es:
Función de declaración pública RasDial Lib "RasApi32.DLL" Alias "RasDialA" (lpRasDialExtensions As Any, ByVal lpszPhonebook As String, lprasdialparams As Any, ByVal dwNotifierType As Long, lpvNotifier As Long, lphRasConn As Long) As Long
La función RASDIAL se utiliza para establecer una conexión entre el cliente RAS y el servidor RAS.
Cada parámetro se explica a continuación:
El parámetro lpRasDialExtensions se ignora en WINDOWS95/98.
El parámetro lpszPhonebook también se ignora en WINDOWS95/98.
El parámetro lprasdialparams apunta a una variable de estructura RASDIALPARAMS que contiene valores de parámetros de conexión RAS.
El parámetro dwNotifierType se utiliza para indicar la naturaleza del parámetro lpvNotifier. Si lpvNotifier es NULL, el valor de dwNotifierType se ignora; si lpvNotifier no es NULL, entonces dwNotifierType debe ser uno de los siguientes valores:
(1).0XFFFFFFFF------Indica que lpvNotifier el parámetro es un identificador de ventana para recibir mensajes de notificación de procesos
(2).0----------------Indica que lpvNotifier apunta a una función de devolución de llamada RASDIALFUNC; /p>
(3).1----------------Señale que lpvNotifier apunta a la siguiente función de devolución de llamada RASDIALFUNC1.
El parámetro lpvNotifier se utiliza para señalar una ventana o función de devolución de llamada que recibe notificación de evento RASDIAL. Su naturaleza está determinada por el parámetro dwNotifierType:
(1). NULL, significa comunicación asincrónica. Es decir, RASDIAL enviará un mensaje de ventana o llamará a una función de devolución de llamada para cada evento. La función RASDIAL regresa inmediatamente. Establece una conexión a través de la ventana o llama a la función de devolución de llamada para comunicarse con el proceso.
(2). Si lpvNotifier es NULL, significa comunicación sincrónica. Es decir, la función RASDIAL volverá solo después de que se complete o falle el establecimiento de la conexión.
El parámetro lphRasConn apunta a la variable HRASCONN. lphRasConn debe establecerse en NULL antes de llamar a la función RASDIAL. Si la llamada a la función RASDIAL tiene éxito, lphRasconn colocará un identificador de conexión RAS.
3. Función RASHANGUP Su declaración API es:
Función de declaración pública RasHangUp Lib "RasApi32.DLL" Alias "RasHangUpA" (ByVal hRasConn As Long) As Long p>
La función RASHANGUP se utiliza para desconectar una conexión RAS. Su parámetro hRasConn es un identificador que apunta a una conexión RAS.
2. Utilice VB6.0 para realizar el proceso de acceso telefónico a Internet RAS.
Cree un nuevo proyecto y asígnele el nombre RasDial; luego agregue los siguientes elementos al proyecto:
1. Cree un nuevo formulario Form1 y luego agregue los siguientes componentes al formulario:
(El botón "Conectar" se llama Ras_Dial, el botón "Colgar" se llama: Ras_HangUp y el botón "Salir" se llama: "Cancelar".
3 textos Los cuadros se denominan: Número de teléfono, Nombre de usuario, Contraseña).
2 Haga doble clic en el botón de conexión y agregue el siguiente código:
Private Sub Ras_Dial_Click()
<. p>Atenuar la temperatura siempreSi PhoneNumber.Text = "" O UserName.Text = "" O PassWord.Text = "" Entonces
temp = MsgBox("No lo hiciste ingrese un número de marcación válido. Parámetros de red.
", vbOKOnly, "Error")
Salir de Sub
End If
temp = AddConnection("", PhoneNumber.Text, "", UserName.Text , PassWord.Text, "")
Seleccione Case temp
Case ERROR_PORT_ALREADY_OPEN: temp = MsgBox("Error, ¡el puerto ya está abierto!", vbOKOnly, "Error")
Caso ERROR_UNKNOWN: temp = MsgBox("¡Error desconocido!", vbOKOnly, "Error")
Caso ERROR_REQUEST_TIMEOUT: temp = MsgBox("¡Error, tiempo de espera agotado para la solicitud!", vbOKOnly, "Error ")
Caso ERROR_PASSWD_EXPIRED: temp = MsgBox("¡Error, no ingresaste tu contraseña!", vbOKOnly, "Error")
Caso ERROR_NO_DIALIN_PERMISSION: temp = MsgBox( "¡Error, no hay tono de marcado!", vbOKOnly, "Error")
Caso ERROR_SERVER_NOT_RESPONDING: temp = MsgBox("Error, ¡la computadora remota conectada no respondió!", vbOKOnly, "Error")
Caso ERROR_UNRECOGNIZED_RESPONSE: temp = MsgBox("¡Error, respuesta desconocida!", vbOKOnly, "Error")
Caso ERROR_NO_RESPONSES: temp = MsgBox("¡Error, no hay respuesta!", vbOKOnly, "Error" )
Caso ERROR_DEVICE_NOT_READY: temp = MsgBox("¡Error, el dispositivo no está listo!", vbOKOnly, "Error")
Caso ERROR_LINE_BUSY: temp = MsgBox ("¡Error, la línea está ocupada!" ", vbOKOnly, "Error")
Caso ERROR_NO_ANSWER: temp = MsgBox("¡Error, no hay señal de respuesta! ", vbOKOnly, "Error")
Caso ERROR_NO_CARRIER: temp = MsgBox("¡Error, no hay señal portadora!", vbOKOnly, "Error")
Caso ERROR_NO_DIALTONE: temp = MsgBox ("¡Error, no hay tono de marcado!", vbOKOnly, "Error")
Caso ERROR_AUTHENTICATION_FAILURE: temp = MsgBox("¡Error de nombre de usuario y contraseña!", vbOKOnly, "Error")
Caso ERROR_PPP_TIMEOUT: temp = MsgBox("Se agotó el tiempo de espera para el acceso PPP.
", vbOKOnly, "Error")
End Select
End Sub
3. Haga doble clic en el botón colgar y agregue el siguiente código: p>
Sub privado Ras_HangUp_Click()
Atenuar temperatura siempre
temp = RasHangUp(hRasConn)
End Sub
4. Haga doble clic para salir y agregue el siguiente código:
Private Sub Cancel_Click()
Descargarme
End Sub
5. Finalmente, cree un nuevo módulo, llamado Ras_Dial, agregue el siguiente código:
Opción explícita
Public hRasConn As Long 'Defina un identificador global que apunte a la llamada RAS
p>Const pública APINULL = 0amp;
Const pública UNLEN = 256
Const pública DNLEN = 15
Const pública PWLEN = 256
Const pública RAS95_MaxPhoneNumber = 128
Const pública RAS95_MaxEntryName = 256
Const pública RAS95_MaxCallbackNumber = RAS95_MaxPhoneNumber
Tipo público RASDIALPARAMS95
dwSize tan largo
szEntryName(RAS95_MaxEntryName) como byte
szPhoneNumber(RAS95_MaxPhoneNumber) como byte
szCallbackNumber(RAS95_MaxCallbackNumber) como byte
szUserName (UNLEN) Como byte
szContraseña(PWLEN) Como byte
szDomain(DNLEN) Como byte
Tipo de fin
'** ************** *************************
'* Código de error de llamada RAS *
'***** *******************************
Const pública NOT_SUPPORTED = 120 amperios;
Const pública RASBASEERROR = 600 amperios;
Const pública SUCCESS = 0 amperios;
Const pública ERROR_PORT_ALREADY_OPEN = (RASBASEERROR 2)
Const pública ERROR_UNKNOWN = (RASBASEERROR 35)
p>Const pública ERROR_REQUEST_TIMEOUT = (RASBASEERROR 38)
Contras públicas
t ERROR_PASSWD_EXPIRED = (RASBASEERROR 48)
Const pública ERROR_NO_DIALIN_PERMISSION = (RASBASEERROR 49)
Const pública ERROR_SERVER_NOT_RESPONDING = (RASBASEERROR 50)
Const pública ERROR_UNRECOGNIZED_RESP ONSE = ( RASBASEERROR 52)
Const pública ERROR_NO_RESPONSES = (RASBASEERROR 60)
Const pública ERROR_DEVICE_NOT_READY = (RASBASEERROR 66)
Const pública ERROR_LINE_BUSY = (RASBASEERROR 76) p >
Const pública ERROR_NO_ANSWER = (RASBASEERROR 78)
Const pública ERROR_NO_CARRIER = (RASBASEERROR 79)
Const pública ERROR_NO_DIALTONE = (RASBASEERROR 80)
Const pública ERROR_AUTHENTICATION_FAILURE = (RASBASEERROR 91)
Const pública ERROR_PPP_TIMEOUT = (RASBASEERROR 118)
'********************* * *******************
'* Declaración API RAS*
'********** ****** *******************
Función de declaración pública lstrcpy Lib "kernel32" Alias "lstrcpyA" (lpString1 como cualquier , ByVal lpString2 As String) Mientras
Función de declaración pública RasDial Lib "RasApi32.DLL" Alias "RasDialA" (lpRasDialExtensions As Any, ByVal lpszPhonebook As String, lprasdialparams As Any, ByVal dwNotifierType As Long, lpvNotifier As Long, lphRasConn As Long) As Long
Función de declaración pública RasHangUp Lib "RasApi32.DLL" Alias "RasHangUpA" (ByVal hRasConn As Long) As Long
Función pública AddConnection(strNewEntryName como cadena, strNewPhoneNumber como S
tring, strNewCallbackNumber como cadena, strNewUsername como cadena, strNewPassword como cadena, strNewDomain como cadena) como entero
Dim lngRetCode como largo
Dim lngRetLstrcpy como largo
Dim lngRetHangUp As Long
Dim lprasdialparams As RASDIALPARAMS95
lprasdialparams.dwSize = 1052 'En WINDOWS95/98, dwSize debe establecerse en 1052
'Utilice la función lstrcpy Copiar la cadena a la matriz BYTE
lngRetLstrcpy = lstrcpy(lprasdialparams.szEntryName(0), strNewEntryName)
lngRetLstrcpy = lstrcpy(lprasdialparams.szPhoneNumber(0), strNewPhoneNumber) p>
lngRetLstrcpy = lstrcpy(lprasdialparams.szCallbackNumber(0), strNewCallbackNumber)
lngRetLstrcpy = lstrcpy(lprasdialparams.szUserName(0), strNewUsername)
lngRetLstrcpy = lstrcpy(lprasdialparams .szPassword) (0), strNewPassword)
lngRetLstrcpy = lstrcpy(lprasdialparams.szDomain(0), strNewDomain)
'Usamos comunicación sincrónica
Pantalla. MousePointer = vbHourglass
hRasConn = 0 '
lngRetCode = RasDial(ByVal APINULL, vbNullString, lprasdialparams, APINULL, ByVal APINULL, hRasConn)
Screen.MousePointer = vbDefault
p>'Prueba si hay algún error
Si lngRetCode Entonces
lngRetHangUp = RasHangUp(hRasConn)
Finalizar si
AddConnection = lngRetCode
Función final
Sub RemoveConnection pública (H_RasConn As Long)
Llamar a RasHangUp(hRasConn)
End Sub
6. Finalmente, compilamos y generamos la aplicación, y realizaremos el acceso telefónico a Internet en nuestra propia aplicación. Este programa está compilado y pasado bajo el entorno PWIN98 y VB6.0.