Dengan pesatnya perkembangan Internet, pemrograman sekarang seringkali memerlukan jaringan langsung dalam program untuk menangani beberapa hal, seperti pendaftaran online dan bantuan online, yang mengharuskan kita untuk menjalin koneksi tertentu dalam program. Banyak perangkat lunak memulai browser untuk mencari URL tanpa mengetahui apakah pengguna terhubung ke Internet. Setelah banyak usaha, mereka hanya dapat menemukan halaman kesalahan (tentu saja, tidak ada hasil yang baik). Jika kami dapat secara otomatis menentukan apakah pengguna terhubung ke Internet saat menulis program, dan jika demikian, buka koneksi, dan jika tidak, mulai koneksi dial-up default, apakah ini akan membuat orang merasa bahwa perangkat lunak Anda lebih baik daripada yang lain? ? Menentukan apakah Anda terhubung ke Internet diperkenalkan di banyak tempat. Di sini kami hanya memperkenalkan cara memulai koneksi dial-up default.
----Sebelum perkenalan, mari kita lihat dulu cara membuka jaringan dial-up. Karena Dial-Up Networking bukan file yang dapat dieksekusi, maka file tersebut tidak dapat dibuka menggunakan metode "File yang dapat dieksekusi Shell". Untuk memulai jaringan dial-up, Anda perlu menggunakan Explorer. Caranya adalah sebagai berikut:
Shell"Penjelajah::{20D04FE0-3AEA-1069-A2D8-08002B30309D}/"&"::{992CFFA0-F557-101A-88EC-00DD010CCC48}",vbNormalFocus
----Tetapi jika Anda ingin memulai koneksi di jaringan dial-up, Anda perlu menggunakan rundll.exe dan rnaui.dll untuk memulainya. Caranya adalah sebagai berikut (dengan asumsi nama koneksi adalah 163):
Shell"rundllrnaui.dll,RnaDial163",vbNormalFocus
----Catatan: Pada uraian di atas, jangan menyisipkan spasi tambahan pada bagian ",RnaDial163", dan jangan mengubah huruf besar-kecil secara sembarangan.
---- Di atas hanya mengasumsikan nama koneksi, tetapi dalam pemrograman sebenarnya kita tidak mengetahui namanya. Bagaimana cara mendapatkan nama koneksi default dan memulainya? Di sini kita dapat menggunakan registri untuk mencapai tujuan kita. Prosedur lengkapnya adalah sebagai berikut:
---- Letakkan tombol perintah (bernama cmdCallConnect) pada form.
Opsi Eksplisit
'Pernyataan API tentang pendaftaran
PRIvateDeclareFunctionRegOpenKeyExLib"advapi32"Alias"RegOpenKeyExA"(ByValhKeyAsLong,ByVallpSubKeyAsString,ByValulOptionsAsLong,ByValsamDesiredAsLong,phkResultAsLong)AsLong
PrivateDeclareFunctionRegQueryValueExLib"advapi32"Alias"RegQueryValueExA"(ByValhKeyAsLong,ByVallpValueNameAsString,ByVallpReservedAsLong,ByReflpTypeAsLong,ByValszDataAsString,ByReflpCbDataAsLong)AsLong
PrivateDeclareFunctionRegCloseKeyLib"advapi32"(ByValhKeyAsLong)AsLong
'konstan
KonstHKEY_CURRENT_USER=&H80000001
KonstERROR_SUCCESS=0&
PrivateSubcmdCallConnect_Click()
'Mulai koneksi dial-up default
Shell"rundllrnaui.dll,RnaDial" GetConnect,vbNormalFocus
Sub Akhir
PublicFunctionGetConnect()AsString
DimhKeyAsLong
DimSubKeyAsString
hKey=Kunci utama HKEY_CURRENT_USER
SubKey="Akses Jarak Jauh"'subkunci
'Dapatkan nama koneksi default
GetConnect=GetRegValue(hKey,SubKey,"Default")
Fungsi Akhir
PublicFunctionGetRegValue(hKeyAsLong,lpszSubKeyAsString,szKeyAsString)AsVariant
OnErrorGoToErrorRoutineErr:
DimphkHasilAsLong
DimlHasilAsLong
DimszBufferAsString
DimlBuffSizeAsLong
'Buat penyangga
szBuffer=Spasi(255)
lBuffSize=Len(szBuffer)
'Buka kunci registrasi
RegOpenKeyExhKey,lpszSubKey,0,1,phkResult
'Hasil kueri
lHasil=RegQueryValueEx(phkResult,szKey,0,0,szBuffer,lBuffSize)
'Tutup kunci registrasi
RegCloseKeyphkResult
'mengembalikan hasil
JikalHasil=ERROR_SUCCESSLalu
GetRegValue=Kiri(szBuffer,lBuffSize-1)
Kalau tidak
DapatkanRegValue=""
AkhirJika
Fungsi Keluar
KesalahanRutinErr:
DapatkanRegValue=""
Fungsi Akhir
Program di atas telah di-debug di bawah WIN98 dan VB6.0. ->