=== BEGIN ARIEFWT'S POST ===
Coba kode ini, tapi ini pakai Windows API, mudah-mudahan mas ngerti :-)

'=== BEGIN CODE - COPY FROM HERE ===
'koneksi dial-up
'Buat 1 ListBox, 2 Text, dan 1 Command

Option Explicit
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory"
(pDst As Any, ByVal pSrc As String, ByVal ByteLen As Long)
Private Declare Sub ZeroMemory Lib "kernel32.dll" Alias
"RtlZeroMemory" (Destination As Any, ByVal Length As Long)

Const RAS95_MaxEntryName = 256
Const RAS_MaxPhoneNumber = 128
Const RAS_MaxCallbackNumber = RAS_MaxPhoneNumber

Const UNLEN = 256
Const PWLEN = 256
Const DNLEN = 12

Private Type RASDIALPARAMS
        dwSize As Long ' 1052
        szEntryName(RAS95_MaxEntryName) As Byte
        szPhoneNumber(RAS_MaxPhoneNumber) As Byte
        szCallbackNumber(RAS_MaxCallbackNumber) As Byte
        szUserName(UNLEN) As Byte
        szPassword(PWLEN) As Byte
        szDomain(DNLEN) As Byte
End Type

Private Type RASENTRYNAME95
        'set dwsize to 264
        dwSize As Long
        szEntryName(RAS95_MaxEntryName) As Byte
End Type

Private Declare Function RasDial Lib "rasapi32.dll" Alias "RasDialA"
(ByVal lprasdialextensions As Long, ByVal lpcstr As String, ByRef
lprasdialparamsa As RASDIALPARAMS, ByVal dword As Long, lpvoid As Any,
ByRef lphrasconn As Long) As Long
Private Declare Function RasEnumEntries Lib "rasapi32.dll" Alias
"RasEnumEntriesA" (ByVal reserved As String, ByVal lpszPhonebook As
String, lprasentryname As Any, lpcb As Long, lpcEntries As Long) As Long
Private Declare Function RasGetEntryDialParams Lib "rasapi32.dll"
Alias "RasGetEntryDialParamsA" (ByVal lpcstr As String, ByRef
lprasdialparamsa As RASDIALPARAMS, ByRef lpbool As Long) As Long

Private Function Dial(ByVal Connection As String, ByVal UserName As
String, ByVal Password As String) As Boolean
         Dim rp As RASDIALPARAMS, h As Long, resp As Long
         rp.dwSize = Len(rp) + 6
         ChangeBytes Connection, rp.szEntryName
         ChangeBytes "", rp.szPhoneNumber 'Phone number tersimpan
         ChangeBytes "*", rp.szCallbackNumber 'Callback number tersimpan
         ChangeBytes UserName, rp.szUserName
         ChangeBytes Password, rp.szPassword
         ChangeBytes "*", rp.szDomain 'Domain tersimpan
         'Dial
         resp = RasDial(ByVal 0, ByVal 0, rp, 0, ByVal 0, h)    'AddressOf
RasDialFunc
         Dial = (resp = 0)
End Function

Private Function ChangeToStringUni(Bytes() As Byte) As String
         Dim temp As String
         temp = StrConv(Bytes, vbUnicode)
         ChangeToStringUni = Left(temp, InStr(temp, Chr(0)) - 1)
End Function

Private Function ChangeBytes(ByVal str As String, Bytes() As Byte) As
Boolean
        Dim lenBs As Long
        Dim lenStr As Long
        
        lenBs = UBound(Bytes) - LBound(Bytes)
        lenStr = LenB(StrConv(str, vbFromUnicode))
        
        If lenBs > lenStr Then
                CopyMemory Bytes(0), str, lenStr
                ZeroMemory Bytes(lenStr), lenBs - lenStr
        ElseIf lenBs = lenStr Then
                CopyMemory Bytes(0), str, lenStr
        Else
                CopyMemory Bytes(0), str, lenBs
                ChangeBytes = True
        End If
End Function

Private Sub Command1_Click()
        Dial List1.Text, Text1, Text2
End Sub


Private Sub List1_Click()
        Dim rdp As RASDIALPARAMS, t As Long
        
        rdp.dwSize = Len(rdp) + 6
        ChangeBytes List1.Text, rdp.szEntryName
        
        t = RasGetEntryDialParams(List1.Text, rdp, 0)
        
        If t = 0 Then
                Text1 = ChangeToStringUni(rdp.szUserName)
                Text2 = ChangeToStringUni(rdp.szPassword)
        End If
End Sub

Private Sub Form_Load()
        Text2.PasswordChar = "*"
        Command1.Caption = "Dial"
        
        Dim s As Long, l As Long, ln As Long, a$
        ReDim r(255) As RASENTRYNAME95

        r(0).dwSize = 264
        s = 256 * r(0).dwSize
        l = RasEnumEntries(vbNullString, vbNullString, r(0), s, ln)
        
        For l = 0 To ln - 1
                a$ = StrConv(r(l).szEntryName(), vbUnicode)
                List1.AddItem Left$(a$, InStr(a$, Chr$(0)) - 1)
        Next
        
        If List1.ListCount > 0 Then
                List1.ListIndex = 0
                List1_Click
        End If
End Sub
'powered by Arief Softwares Lab ([EMAIL PROTECTED])
'=== END CODE - COPY UNTIL HERE ===


=== END ARIEFWT'S POST ===

Catatan:
* Semoga posting di atas dapat bermanfaat secara positif bagi kita semua
* CMIIW - Correct Me If I am Wrong!
* Untuk keterangan lebih lanjut silakan hubungi saya di [EMAIL PROTECTED]
* Mohon maaf sebesar-besarnya apabila ada kata-kata yang kurang
berkenaan di hati Anda

Medan, 20 April 2007
-- 
Best Regards,
<Arief Wibowo, C.Hts, RM>
Computer Programmer and Alternative Therapist

--- In [email protected], "Dino" <[EMAIL PROTECTED]> wrote:
>
> Minta bantuan sama kk smua nih..
> 
> Saya lagi coba buat aplikasi billing utk koneksi internet pakai
> Telkomnet instan yang bisa run otomatis bersamaan ketika connect
dial-up.
> 
> Mohon Pencerahannya
>


Kirim email ke