Sto scrivendo un programma in VB2008 che adun certo punto dovrebbe far partire una connessione dial-up
Su MSDN ho trovato le istruzioni per utilizzare delle chiamate a wininet.dll:
- Codice: Seleziona tutto
Public Class CONNETTI
Private Declare Function InternetGetConnectedState Lib "wininet.dll" (ByRef lpdwFlags As Int32, _
ByVal dwReserved As Int32) As Boolean
'--------------------------------------------------------------------------------------
Private Declare Function InternetDial Lib "Wininet.dll" (ByVal hwndParent As IntPtr, _
ByVal lpszConnectoid As String, ByVal dwFlags As Int32, ByRef lpdwConnection As Int32, _
ByVal dwReserved As Int32) As Int32
'--------------------------------------------------------------------------------------
Private Declare Function InternetHangUp Lib "Wininet.dll" _
(ByVal lpdwConnection As Int32, ByVal dwReserved As Int32) As Int32
Private Enum Flags As Integer
'Local system uses a LAN to connect to the Internet.
INTERNET_CONNECTION_LAN = &H2
'Local system uses a modem to connect to the Internet.
INTERNET_CONNECTION_MODEM = &H1
'Local system uses a proxy server to connect to the Internet.
INTERNET_CONNECTION_PROXY = &H4
'Local system has RAS installed.
INTERNET_RAS_INSTALLED = &H10
End Enum
'Declaration Used For InternetDialUp.
Private Enum DialUpOptions As Integer
INTERNET_DIAL_UNATTENDED = &H8000
INTERNET_DIAL_SHOW_OFFLINE = &H4000
INTERNET_DIAL_FORCE_PROMPT = &H2000
End Enum
Private Const ERROR_SUCCESS = &H0
Private Const ERROR_INVALID_PARAMETER = &H87
[b] Private mlConnection As Int32[/b]
(...)
Dopo tutta questa serie di Enum e Declare, si arriva all'istruzione per l'avvio della dial-up:
- Codice: Seleziona tutto
DResult = InternetDial(Me.Handle, "Connessione_1", DialUpOptions. INTERNET_DIAL_FORCE_PROMPT, mlConnection, 0)
Dopodiché il programma esegue delle operazioni in rete (invia dei PING ad un server)
Altrove, nel mio codice, la dial-up viene terminata:
- Codice: Seleziona tutto
Result = InternetHangUp(mlConnection, 0&)
Ora, il mio problema è mlConnection...
Se eseguo il programmino d'esempio di MSDN va tutto a meraviglia, la connessione parte e poi viene chiusa... però mlConnection è sempre uguale a zero...
Io però prevedo di far partire almeno DUE dialup. immagino che dovrò usare due valori diversi, per poter chiudere solo quella che m'interessa.... Come li assegno? Posso decidere io oppure li si va a recuperare da qualche parte?
Grazie in anticipo...
MAx