Menampilkan Jendela Properties File dan Folder Dengan Code VB6

Jendela properties pada windows merupakan sekumpulan data yang terdiri dari Nama File, Size File, Data Modifikasi, Atribut File dan lain sebagainya.

Jendela ini ditampilkan untuk membantu user dalam mengidentifikasi File atau Folder yang berada dalam sistem penyimpanan.

Untuk itu pada artikel kali ini Admin akan berbagi sebuah kode untuk menampilkan jendela Properties File dan Folder dengan menggunakan visual basic 6.0.

Output Program


Berikut adalah langkah dalam pembuatannya :

1. Buka Form VB6 Standar EXE

2. Pada Form1 tanamkan control berikut :

1 Label

1 TextBox

4 CommandButton

2 Module

1 Microsoft Common Dialog Control

3. Desainlah Form seperti gambar dibawah ini :

Desain Program

4. Sekarang kita akan fokus ke Module, tambahkan kode dibawah ini di Module1 dan Module2 :

Module1 :

Type SHELLEXECUTEINFO

  cbSize As Long

  fMask As Long

  hwnd As Long

  lpVerb As String

  lpFile As String

  lpParameters As String

  lpDirectory As String

  nShow As Long

  hInstApp As Long

  lpIDList As Long

  lpClass As String

  hkeyClass As Long

  dwHotKey As Long

  hIcon As Long

  hProcess As Long

End Type

 

Public Const SEE_MASK_INVOKEIDLIST = &HC

Public Const SEE_MASK_NOCLOSEPROCESS = &H40

Public Const SEE_MASK_FLAG_NO_UI = &H400

Declare Function ShellExecuteEX Lib "shell32.dll" Alias _

"ShellExecuteEx" (SEI As SHELLEXECUTEINFO) As Long


Module2 :


Private Type BrowseInfo

    hwndOwner      As Long

    pIDLRoot       As Long

    pszDisplayName As Long

    lpszTitle      As Long

    ulFlags        As Long

    lpfnCallback   As Long

    lParam         As Long

    iImage         As Long

End Type


Private Const BIF_BROWSEFORCOMPUTER = &H1000

Private Const BIF_BROWSEFORPRINTER = &H2000

Private Const BIF_BROWSEINCLUDEFILES = &H4000

Private Const BIF_DONTGOBELOWDOMAIN = &H2

Private Const BIF_EDITBOX = &H10

Private Const BIF_NEWDIALOGSTYLE = &H40

Private Const BIF_RETURNFSANCESTORS = &H8

Private Const BIF_RETURNONLYFSDIRS = &H1

Private Const BIF_STATUSTEXT = &H4

Private Const BIF_USENEWUI = (BIF_NEWDIALOGSTYLE Or BIF_EDITBOX)


Private Const MAX_PATH = 260

Private Declare Sub CoTaskMemFree Lib "ole32.dll" _

    (ByVal hMem As Long)

Private Declare Function lstrcat Lib "kernel32" _

    Alias "lstrcatA" (ByVal lpString1 As String, _

    ByVal lpString2 As String) As Long

Private Declare Function SHBrowseForFolder Lib "shell32" _

    (lpBI As BrowseInfo) As Long

Private Declare Function SHGetPathFromIDList Lib "shell32" _

    (ByVal pidList As Long, ByVal lpBuffer As String) As Long

Const CSIDL_DESKTOP = &H0

Const CSIDL_PROGRAMS = &H2

Const CSIDL_CONTROLS = &H3

Const CSIDL_PRINTERS = &H4

Const CSIDL_PERSONAL = &H5

Const CSIDL_FAVORITES = &H6

Const CSIDL_STARTUP = &H7

Const CSIDL_RECENT = &H8

Const CSIDL_SENDTO = &H9

Const CSIDL_BITBUCKET = &HA

Const CSIDL_STARTMENU = &HB

Const CSIDL_DESKTOPDIRECTORY = &H10

Const CSIDL_DRIVES = &H11

Const CSIDL_NETWORK = &H12

Const CSIDL_NETHOOD = &H13

Const CSIDL_FONTS = &H14

Const CSIDL_TEMPLATES = &H15

Const CSIDL_COMMON_STARTMENU = &H16

Const CSIDL_COMMON_PROGRAMS = &H17

Const CSIDL_COMMON_STARTUP = &H18

Const CSIDL_COMMON_DESKTOPDIRECTORY = &H19

Const CSIDL_APPDATA = &H1A

Const CSIDL_PRINTHOOD = &H1B

Private Type SHITEMID

    Cb   As Long

    AbID As Byte

End Type

Private Type ITEMIDLIST

    Mkid As SHITEMID

End Type

Private Declare Function SHGetSpecialFolderLocation Lib "shell32.dll" (ByVal hwndOwner As Long, ByVal nFolder As Long, pidl As ITEMIDLIST) As Long

Private Declare Function OleInitialize Lib "ole32.dll" (lp As Any) As Long

Private Declare Sub OleUninitialize Lib "ole32" ()


Private Function fGetSpecialFolder(CSIDL As Long, IDL As ITEMIDLIST) As String

Dim sPath As String

If SHGetSpecialFolderLocation(hwnd, CSIDL, IDL) = 0 Then

    sPath = Space$(MAX_PATH)

    If SHGetPathFromIDList(ByVal IDL.Mkid.Cb, ByVal sPath) Then

        fGetSpecialFolder = Left$(sPath, InStr(sPath, vbNullChar) - 1) & "\"

    End If

End If

End Function


Public Function fBrowseForFolder(hwndOwner As Long, sPrompt As String) As String

Dim iNull    As Long

Dim lpIDList As Long

Dim lResult  As Long

Dim sPath    As String

Dim sPath1   As String

Dim udtBI    As BrowseInfo

Dim IDL      As ITEMIDLIST

sPath1 = fGetSpecialFolder(CSIDL_DESKTOP, IDL)

Call OleInitialize(ByVal 0&)

With udtBI

    .pIDLRoot = IDL.Mkid.Cb

    .hwndOwner = hwndOwner

    .lpszTitle = lstrcat(sPrompt, "")

    .ulFlags = BIF_RETURNONLYFSDIRS + BIF_USENEWUI

End With

lpIDList = SHBrowseForFolder(udtBI)

If lpIDList Then

    sPath = String$(MAX_PATH, 0)

    lResult = SHGetPathFromIDList(lpIDList, sPath)

    Call CoTaskMemFree(lpIDList)

    iNull = InStr(sPath, vbNullChar)

    If iNull Then sPath = Left$(sPath, iNull - 1)

End If

Call OleUninitialize

fBrowseForFolder = sPath

End Function


5. Setelah itu kita kembali ke jendela Form1, pada masing control tambahkan kode dibawah ini :

Private Sub Command1_Click() 'Tombol Browse File

With CommonDialog1

    .DialogTitle = "Pilih Gambar"

    .Filter = "All File|*.*"

    .ShowOpen

End With

If Not CommonDialog1.CancelError And CommonDialog1.FileName <> "" Then

    Text1.Text = CommonDialog1.FileName

Else

    Text1.Text = ""

End If

End Sub


Private Sub Command2_Click() 'Tombol Cek Properties

If Text1.Text <> vbNullString Then

   Call ShowProps(Text1.Text, Me.hwnd)

End If

End Sub


Private Sub Command3_Click() 'Tombol Clear

Text1.Text = ""

End Sub


Private Sub Command4_Click() 'Tombol Browse Folder
    Dim PathFolder As String
    PathFolder = fBrowseForFolder(hwnd, "Pilih Folder")

        If PathFolder <> vbNullString Then
            Text1.Text = PathFolder
        End If
End Sub

Setelah menyelasaikan kode-kode atas sekarang coba jalankan Project Anda dengan menekan RUN/F5 kemudian pilih tombol yang ingin di cek Propertiesnya misalnya ingin mengecek Properties File maka tekan tombol Browse File pilih nama file yang ingin di cek dan tekan Tombol Cek Properties begitupun dengan mengecek Properties Folder pilih tombol Browse Folder.

Demikianlah artikel kali ini tentang Menampilkan Jendela Properties File dan Folder Dengan Code VB6.

Semoga artikel ini bermanfaat buat kita semua,Amin.

Selamat mencoba semoga berhasil

No comments: