Penggunaan fungsi Win32-API pada Visual Basic

Tuesday, May 31, 2011 | 10:50 AM|


Prosedur-prosedur yang terdapat pada Win32-API, dapat membantu kita dalam membuat program yang mengandung perintah-perintah yang terdapat pada Windows namun tidak tersedia pada VB, misalkan seperti fungsi untuk copy file, move file, pengaturan dekstop, dan lain-lain.

Berikut ini merupakan contoh sederhana penggunaan Win32-API pada Visual Basic. Pada kasus ini, kita akan membuat program sederhana dengan tampilan seperti windows explorer dan fungsi copy paste file.

Source code secara lengkap dapat di download di sini

Code yang dituliskan pada jendela modul:
Declare Function CopyFile Lib “kernel32″ Alias “CopyFileA” (ByVal lpExistingFileName As String, ByVal lpNewFileName As String, ByVal bFailIfExists As Long) As Long Declare Function CopyFile Lib “kernel32″ Alias “CopyFileA” (ByVal
lpExistingFileName As String, ByVal lpNewFileName As String, ByVal bFailIfExists As Long) As Long

Code yang dituliskan pada listing program:
Dim nFile As String
Dim pFile As String
Dim FileC, FileCP As String
Const APP_TITLE = “Explorer “

Private Sub Command1_Click()
‘untuk mendapatkan nama file yg akan di copy
FileC = nFile
‘path file yang akan dicopy
FileCP = pFile
‘mengaktifkan tombol paste
Command2.Enabled = True
End Sub

Private Sub Command2_Click()
Dim A As Long
A = CopyFile(FileCP & “\” & FileC, pFile & “\” & FileC, True)
If A Then
MsgBox “File sudah dicopy !”, vbOKOnly, “Copy File”
File1.Refresh
Else
MsgBox “File gagal dicopy !”, vbOKOnly, “Copy File”
End If
End Sub

Private Sub Dir1_Change()
File1.Path = Dir1.Path
Label2.Caption = Dir1.Path
pFile = Dir1.Path
End Sub

Private Sub Drive1_Change()
If Drive1.Drive = “a:” Then
Exit Sub
End If
Form1.Caption = APP_TITLE & Drive1.Drive
Dir1.Path = Drive1.Drive
End Sub

Private Sub File1_Click()
‘untuk mendapatkan nama file beserta tipe file yang di klik (di pilih)
nFile = File1.List(File1.ListIndex)
Label1.Caption = nFile
Command1.Enabled = True
End Sub

Private Sub Form_Load()
Form1.Caption = APP_TITLE & Drive1.Drive
Dir1.Path = Drive1.Drive
File1.Path = Dir1.Path
Command1.Enabled = False
Command2.Enabled = False
End Sub

Code pada command1 digunakan untuk mendapatkan nama dan path file yang akan di copy. Dan pada command2, terdapat fungsi untuk Copy file yang telah dideklarasikan sebelumnya pada jendela modul.
Bentuk umum dari perintah CopyFile tersebut yaitu:
CopyFile([path_file]\[nama_file], [path_file_baru]\[nama_file_baru],[true|false])
Contoh:
CopyFile(C:\File.doc, C:\Dir\File.doc, False)
Artinya yaitu mengcopy File.doc dari drive C ke folder Dir. Jika file.doc sudah ada pada folder Dir, maka ia akan overwrite file tersebut. Untuk melewatkannya, ganti False menjadi True.

0 comments: