Newsgroup: it.comp.appl.access
Titolo: Avviare connessione remota selezionata da combo

Allora,
stò creando un programmino che in poche parole:
1. in avvio popola una combo box con l'elenco delle connessioni remote
2. ho un pulsante connetti il quale una volta cliccato dovrebbe lanciare la
connessione remota selezionata nella combo ... cioè questo è l'evento che
vorrei generare mah....
NON FUNZIONA!!! Vi inserisco codice pulsante e Modulo ... help please !!!
Codice Command button:
Private Sub Command1_Click()
ConnettiA Combo1
End Sub
Modulo:
'************************************************
'Dichiarazioni e costanti per Verifica Connessione di Accesso Remoto e
Disconnessione di tutte le Connessioni
'************************************************
'Dichiarazioni delle funzioni RASAPI
Public Declare Function RasEnumConnections Lib "RasApi32.DLL" Alias
"RasEnumConnectionsA" (lpRasCon As Any, lpcb As Long, lpcConnections As
Long) As Long
Public Declare Function RasGetConnectStatus Lib "RasApi32.DLL" Alias
"RasGetConnectStatusA" (ByVal hRasCon As Long, lpStatus As Any) As Long
Public Declare Function RasHangUp Lib "RasApi32.DLL" Alias "RasHangUpA"
(ByVal hRasConn As Long) As Long
Public lngResult As Long
'Costanti e tipi per le funzioni RASAPI
Public Const RAS_MAXENTRYNAME As Integer = 256
Public Const RAS_MAXDEVICETYPE As Integer = 16
Public Const RAS_MAXDEVICENAME As Integer = 128
Public Const RAS_RASCONNSIZE As Integer = 412
Public Type RasEntryName
dwSize As Long
szEntryname(RAS_MAXENTRYNAME) As Byte
End Type
Public Type RasConn
dwSize As Long
hRasConn As Long
szEntryname(RAS_MAXENTRYNAME) As Byte
szDeviceType(RAS_MAXDEVICETYPE) As Byte
szDeviceName(RAS_MAXDEVICENAME) As Byte
End Type
Public Type RasConnStatus
dwSize As Long
RasConnState As Long
dwError As Long
szDeviceType(RAS_MAXDEVICETYPE) As Byte
szDeviceName(RAS_MAXDEVICENAME) As Byte
End Type
'************************************************
'Routine di Verifica Connessione di Accesso Remoto
'************************************************
Public Function IsConnected() As Boolean
Dim TRasCon(255) As RasConn
Dim lg As Long
Dim lpcon As Long
Dim RetVal As Long
Dim Tstatus As RasConnStatus
TRasCon(0).dwSize = 412
lg = 256 * TRasCon(0).dwSize
RetVal = RasEnumConnections(TRasCon(0), lg, lpcon)
If RetVal <> 0 Then
    MsgBox "ERROR"
    Exit Function
End If
Tstatus.dwSize = 160
RetVal = RasGetConnectStatus(TRasCon(0).hRasConn, Tstatus)
If Tstatus.RasConnState = &H2000 Then
    IsConnected = True
Else
    IsConnected = False
End If
End Function
'************************************************
'Funzione per disconnettere tutte le connessioni RAS aperte
'************************************************
Public Sub DisconnectAll()
Dim lngCurCon As Long
Dim lpRasConn(255) As RasConn
Dim lpcb As Long
Dim lngConnections As Long
Dim hRasConn As Long
lpRasConn(0).dwSize = RAS_RASCONNSIZE
lpcb = RAS_MAXENTRYNAME * lpRasConn(0).dwSize
lngConnections = 0
lngResult = RasEnumConnections(lpRasConn(0), lpcb, lngConnections)
If lngResult = ERROR_SUCCESS Then
    'Ogni connessione rilevata...
    For lngCurCon = 0 To lngConnections - 1
        hRasConn = lpRasConn(lngCurCon).hRasConn
    '...viene 'stroncata' tramite la funzione RasHangUp
        lngResult = RasHangUp(ByVal hRasConn)
    Next
End If
End Sub
'************************************************
'Routine di Connessione di Accesso Remoto
'************************************************
Public Sub ConnettiA(NomeConnessione As String)
Dim rtn As Long
rtn = Shell("RUNDLL32.EXE rnaui.dll,RnaDial " & NomeConnessione, vbHide)
SendKeys "{ENTER}", True 'Preme invio ed avvia la connessione
End Sub
__________________________
Mi stò perdendo!!!!
--
strano...mavero

 End Sub
Ma la RNAUI.dll ce l'hai?
-- 
Ciao
Pablitomf (Maurizio Facciuti)
Access : Ver.97 - 2K
----------------------------------
http://www.accessgroup.it/
http://www.sitocomune.com/
----------------------------------
Non mi fido molto delle statistiche, perchč un uomo con la testa nel forno
acceso e i piedi nel congelatore statisticamente ha una temperatura media.
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 -- 
ma porc... č vero ... nel 2000Server avevo gia visto che non c'era + questa
dll ... guardo su google come posso *girare* il problema e posto la
soluzione.
Ciao,
--
strano...mavero

 soluzione.
Bisngo! Come pensavo! 
Ti posto un link... fanne tesoro :
http://www.wintricks.it/manuali/rundll32-2.html
-- 
Ciao
Pablitomf (Maurizio Facciuti)
Access : Ver.97 - 2K
----------------------------------
http://www.accessgroup.it/
http://www.sitocomune.com/
----------------------------------
Non mi fido molto delle statistiche, perchè un uomo con la testa nel forno


[cut]
il link non l'ho visto, ma ho risolto cosě ...
...
lngRet = Shell("Rasphone -d """ & NomeConnessione & """", 1)
il link non lo guardo ... a me ora funziona alla grande ... il tuo link cosa
mi suggeriva?
(in questi giorni mi stň appassionando sempre piů esponenzialmente allo
scripting ;o)  ).
--
strano...mavero

[cut]
la tentazione era troppo forte!
davvero interessante, ti ringrazio!
La stringa che ho postato io invece si usa sui sistemi 2000/nt, mentre la
chiamata di prima serviva per i sistemi 95/98 (questo è quello che ho
scoperto).
Ciao,
--
MC

 MC
