본문 바로가기

Program & etc/Visual Basic

[Visual Basic] 자동업데이트 만들기

자동업데이트 만들기

 

모듈에 WinInet을 추가한다.

 

WININET.Bas

 

Dim hOpen As Long, hConnection As Long
Dim dwType As Long
Const ASCII As Long = FTP_TRANSFER_TYPE_ASCII
Const BINARY As Long = FTP_TRANSFER_TYPE_BINARY
Const FTP_SERVER As String = "서버주소"
Const FTP_USER As String = "서버 User"
Const FTP_PASSWORD As String = "서버 PW"

------------------------------------------------------------------------------------------------------

Sub UpLoad(szFileLocal As String, szFileRemote As String, dwType As Long)

    Dim bRet As Boolean
    bRet = FtpPutFile(hConnection, szFileLocal, szFileRemote, dwType, 0)

End Sub

------------------------------------------------------------------------------------------------------

Sub DownLoad(szFileRemote As String, szFileLocal As String, dwType As Long)

    Dim bRet As Boolean
    bRet = FtpGetFile(hConnection, szFileRemote, szFileLocal, False, INTERNET_FLAG_RELOAD, dwType, 0)

End Sub

------------------------------------------------------------------------------------------------------

Private Sub cmdQuit_Click()

    '세션 종료처리
    If hConnection <> 0 Then InternetCloseHandle (hConnection)
    If hOpen <> 0 Then InternetCloseHandle (hOpen)

    hConnection = 0
    hOpen = 0

    End

End Sub

------------------------------------------------------------------------------------------------------

Private Sub cmdUpLoad_Click()

    UpLoad App.Path & "\test.txt", "public_html/test.txt", ASCII
    MsgBox "업로드 성공!"

End Sub

------------------------------------------------------------------------------------------------------

Private Sub cmdDownLoad_Click()

    DownLoad "public_html/파일경로\test.txt", App.Path & "\test.txt", ASCII
    MsgBox "다운로드 성공!"

End Sub

------------------------------------------------------------------------------------------------------

Private Sub Form_Load()

    '세션 연결처리
    hOpen = 0
    hConnection = 0
    hOpen = InternetOpen(scUserAgent, INTERNET_OPEN_TYPE_DIRECT, vbNullString, vbNullString, 0)
    Dim nFlag As Long
    'nFlag = INTERNET_FLAG_PASSIVE                      'PassiveMode 로 접속시 설정하는 부분입니다.
    nFlag = 0
    hConnection = InternetConnect(hOpen, FTP_SERVER, INTERNET_INVALID_PORT_NUMBER, _
        FTP_USER, FTP_PASSWORD, INTERNET_SERVICE_FTP, nFlag, 0)

End Sub

------------------------------------------------------------------------------------------------------

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)

    cmdQuit_Click

End Sub