Dato che questo problemino potrebbe essere frequente, con l’aiuto del link di Alka creo un piccolo tutorial.
Per disconnettersi è necessario il comando (provatelo dal prompt di Dos):
rasdial “NomeConnessione” /disconnect
Tradotto in Delphi, significa che se colleghiamo il tutto alla pressione di un tasto diventa:
Per la connessione, la sintassi è la seguente (tutte le info le trovate alla guida di windows):codice:procedure TForm1.Button2Click(Sender: TObject); var cmd, par, fil, dir: PChar; begin // disconnect the connection to the Internet // Verbindung zum Internet abbrechen cmd := 'open'; fil := 'rasdial.exe'; par := PChar(edtEntry.Text + ' /DISCONNECT'); dir := 'C:'; ShellExecute(Self.Handle, cmd, fil, par, dir, SW_SHOWMINNOACTIVE); end;
rasdial NomeConnessione [NomeUtente [{Password|*}]] [/phone:NumeroTelefono]
In Delphi ,(attenzione la procedura dell’esempio è stata modificata, mancava il numero di telefono da comporre):
Direi che seguendo il link di Alka e queste istruzioni non ci dovrebbero essere problemi.codice:procedure TForm1.Button1Click(Sender: TObject); var cmd, par, fil, dir: PChar; begin // establish the connection // die Verbindung aufbauen // rasdial.exe entryname username password cmd := 'open'; fil := 'rasdial.exe'; par := PChar(edtEntry.Text + ' ' + edtUser.Text + ' ' + edtPass.Text + ' ' + '/phone:000000 ' ); //dove 000000 è il numero da comporre per connettersi dir := 'C:'; // call rasdial.exe with Shellexecute // rasdial mit Shellexecute aufrufen ShellExecute(Self.Handle, cmd, fil, par, dir, SW_SHOWMINNOACTIVE); end;
P.S Attenzione all’uso di ShellApi nella sezione Implementation. Conviene vedere la guida “Windows SDK”.
Ciao


Rispondi quotando