Monday, June 3, 2013

How To Make Check Update For Software

Hello Again!!
Now I Will Share My Functional To Make Check Update by Web Hosting

It Is So Easy To Make Check Update For Software
My Antivirus Use This Functional



Allright We Just Need 1 Label and 1 Timer
Let's Begin Coding

This Is The Code:
Option Explicit
Const scUserAgent = "Panther Check Update"
Const INTERNET_OPEN_TYPE_DIRECT = 1
Const INTERNET_OPEN_TYPE_PROXY = 3
Const INTERNET_FLAG_RELOAD = &H80000000
Const sURL = "http://gudangfile.p.ht/cek update.txt"

Private Declare Function GetConnectedState Lib "wininet.dll" (ByRef _
    lpSFlags As Long, ByVal dwReserved As Long) As Long

Const INTERNET_CONNECTION_MODEM = 1
Const INTERNET_CONNECTION_LAN = 2
Const INTERNET_CONNECTION_PROXY = 4
Const INTERNET_CONNECTION_MODEM_BUSY = 8
Private Declare Function InternetOpen Lib "wininet" Alias "InternetOpenA" (ByVal sAgent As String, ByVal lAccessType As Long, ByVal sProxyName As String, ByVal sProxyBypass As String, ByVal lFlags As Long) As Long
Private Declare Function InternetCloseHandle Lib "wininet" (ByVal hInet As Long) As Integer
Private Declare Function InternetReadFile Lib "wininet" (ByVal hFile As Long, ByVal sBuffer As String, ByVal lNumByteToRead As Long, lNumberOfBytesRead As Long) As Integer
Private Declare Function InternetOpenUrl Lib "wininet" Alias "InternetOpenUrlA" (ByVal hInternetSession As Long, ByVal lpszUrl As String, ByVal lpszHeaders As String, ByVal dwHeadersLength As Long, ByVal dwFlags As Long, ByVal dwContext As Long) As Long

Public Function cekupdate()
On Error Resume Next
Dim hOpen As Long, hFile As Long, sBuffer As String, Ret As Long
Dim versi As String

sBuffer = Space(5)
hOpen = InternetOpen(scUserAgent, INTERNET_OPEN_TYPE_DIRECT, vbNullString, vbNullString, 0)
hFile = InternetOpenUrl(hOpen, sURL, vbNullString, ByVal 0&, INTERNET_FLAG_RELOAD, ByVal 0&)
InternetReadFile hFile, sBuffer, 5, Ret

InternetCloseHandle hFile
InternetCloseHandle hOpen

versi = "1.7"
If IsConnectedToInternet = True Then
  If sBuffer > versi Then
    Label1.Caption = "New"
    Else
    Label1.Caption = "No New"
  End If
Else
Label1.Caption = "Not Connect To Internet"
End If

End Function

Private Sub form_load()
Timer1.Enabled = True
End Sub


Private Sub Timer1_Timer()
On Error Resume Next
cekupdate
End Sub

And We Need 1 Module 
The Copy This Code To Module
Private Declare Function InternetGetConnectedState Lib "wininet.dll" (ByRef _
    lpSFlags As Long, ByVal dwReserved As Long) As Long

Const INTERNET_CONNECTION_MODEM = 1
Const INTERNET_CONNECTION_LAN = 2
Const INTERNET_CONNECTION_PROXY = 4
Const INTERNET_CONNECTION_MODEM_BUSY = 8

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 Const RAS95_MaxEntryName = 256
Public Const RAS95_MaxDeviceType = 16
Public Const RAS95_MaxDeviceName = 32
'
Public Type RASCONN95
    dwSize As Long
    hRasCon As Long
    szEntryName(RAS95_MaxEntryName) As Byte
    szDeviceType(RAS95_MaxDeviceType) As Byte
    szDeviceName(RAS95_MaxDeviceName) As Byte
End Type
'
Public Type RASCONNSTATUS95
    dwSize As Long
    RasConnState As Long
    dwError As Long
    szDeviceType(RAS95_MaxDeviceType) As Byte
    szDeviceName(RAS95_MaxDeviceName) As Byte
End Type

Public Function IsConnectedToInternet(Optional connectMode As Integer) As Boolean
    Dim Flags As Long
    ' this ASPI function does it all
    IsConnectedToInternet = InternetGetConnectedState(Flags, 0)
    ' return the flag through the optional argument
    connectMode = Flags
End Function

No comments:

Post a Comment