Untuk membuat sebuah start up buka dulu donkk visual basicnya hehe !!!]
berikut contoh start up yang telah saya buat :
untuk merancangnya/membuatnya berikut langkah-langkah dan source code nya !
- Tambahkan 2 buah image
- kemudian dirlistbox
- file list box
- text box
- command button
- kemudian add satu buah module
Letakan kode berikut pada bagian form.
Private Sub Command3_Click()
Unload Me
End Sub
Private Sub Dir1_Change()
File1.Path = Dir1.Path
Text1.Text = Dir1.Path
End Sub
Private Sub Drive1_Change()
On Error Resume Next
Dir1.Path = Drive1.Drive
Text1.Text = Drive1.Drive
End Sub
Private Sub File1_Click()
Text1.Text = File1.Path & "\" & File1.FileName
End Sub
Private Sub Command1_Click()
On Error Resume Next
If Text1.Text = "" Then
MsgBox "Tentukan apa yang ingin dijalankan", _
vbCritical, "Pesan"
Else
Dim a, b As String
a = Len(File1.FileName) - 4
b = Left(File1.FileName, a)
SetRegValue HKEY_LOCAL_MACHINE, _
"Software\Microsoft\Windows\CurrentVersion\Run", _
b, Text1.Text
MsgBox "Perintah telah disimpan", _
vbInformation, "StartUp"
Text1.Text = ""
End If
End Sub
Private Sub Command2_Click()
On Error Resume Next
If Text1.Text = "" Then
MsgBox "Tentukan apa yang ingin dibatalkan", _
vbCritical, "Pesan"
Else
Dim c, d As String
c = Len(File1.FileName) - 4
d = Left(File1.FileName, c)
DeleteValue HKEY_LOCAL_MACHINE, _
"Software\Microsoft\Windows\CurrentVersion\Run", d
MsgBox "Perintah telah dihapus", vbInformation, _
"StartUp"
Text1.Text = ""
End If
End Sub
dan letakan kode berikut pada module :
Public Type SECURITY_ATTRIBUTES
nLength As Long
lpSecurityDescriptor As Long
bInheritHandle As Long
End Type
Declare Function RegOpenKeyEx Lib _
"advapi32.dll" Alias "RegOpenKeyExA" ()
Declare Function RegCloseKey Lib _
"advapi32.dll" (ByVal hKey As Long) As Long
Declare Function RegQueryValueEx Lib _
"advapi32" Alias "RegQueryValueExA" ()
Declare Function RegSetValueEx Lib _
"advapi32.dll" Alias "RegSetValueExA" (ByVal _
hKey As Long, ByVal lpValueName As String, _
ByVal Reserved As Long, ByVal _
dwType As Long, ByVal lpData As String, _
ByVal cbData As Long) As Long
Declare Function RegDeleteValue Lib _
"advapi32.dll" Alias "RegDeleteValueA" ()
Public Enum T_KeyClasses
HKEY_CLASSES_ROOT = &H80000000
HKEY_CURRENT_CONFIG = &H80000005
HKEY_CURRENT_USER = &H80000001
HKEY_LOCAL_MACHINE = &H80000002
HKEY_USERS = &H80000003
End Enum
Private Const SYNCHRONIZE = &H100000
Private Const STANDARD_RIGHTS_ALL = &H1F0000
Private Const KEY_QUERY_VALUE = &H1
Private Const KEY_SET_VALUE = &H2
Private Const KEY_CREATE_LINK = &H20
Private Const KEY_CREATE_SUB_KEY = &H4
Private Const KEY_ENUMERATE_SUB_KEYS = &H8
Private Const KEY_EVENT = &H1
Private Const KEY_NOTIFY = &H10
Private Const READ_CONTROL = &H20000
Private Const STANDARD_RIGHTS_READ = (READ_CONTROL)
Private Const STANDARD_RIGHTS_WRITE = (READ_CONTROL)
Private Const KEY_ALL_ACCESS = _
((STANDARD_RIGHTS_ALL Or KEY_QUERY_VALUE Or _
KEY_SET_VALUE Or KEY_CREATE_SUB_KEY _
Or KEY_ENUMERATE_SUB_KEYS Or KEY_NOTIFY _
Or KEY_CREATE_LINK) And (Not SYNCHRONIZE))
Private Const KEY_READ = _
((STANDARD_RIGHTS_READ Or KEY_QUERY_VALUE Or _
KEY_ENUMERATE_SUB_KEYS Or KEY_NOTIFY) _
And (Not SYNCHRONIZE))
Private Const KEY_EXECUTE = (KEY_READ)
Private Const KEY_WRITE = _
((STANDARD_RIGHTS_WRITE Or KEY_SET_VALUE Or _
KEY_CREATE_SUB_KEY) And (Not SYNCHRONIZE))
Private Const REG_BINARY = 3
Private Const REG_CREATED_NEW_KEY = &H1
Private Const REG_DWORD = 4
Private Const REG_DWORD_BIG_ENDIAN = 5
Private Const REG_DWORD_LITTLE_ENDIAN = 4
Private Const REG_EXPAND_SZ = 2
Private Const REG_FULL_RESOURCE_DESCRIPTOR = 9
Private Const REG_LINK = 6
Private Const REG_MULTI_SZ = 7
Private Const REG_NONE = 0
Private Const REG_SZ = 1
Private Const REG_NOTIFY_CHANGE_ATTRIBUTES = &H2
Private Const REG_NOTIFY_CHANGE_LAST_SET = &H4
Private Const REG_NOTIFY_CHANGE_NAME = &H1
Private Const REG_NOTIFY_CHANGE_SECURITY = &H8
Private Const REG_OPTION_BACKUP_RESTORE = 4
Private Const REG_OPTION_CREATE_LINK = 2
Private Const REG_OPTION_NON_VOLATILE = 0
Private Const REG_OPTION_RESERVED = 0
Private Const REG_OPTION_VOLATILE = 1
Private Const REG_LEGAL_CHANGE_FILTER = _
(REG_NOTIFY_CHANGE_NAME Or _
REG_NOTIFY_CHANGE_ATTRIBUTES Or _
REG_NOTIFY_CHANGE_LAST_SET Or _
REG_NOTIFY_CHANGE_SECURITY)
Private Const REG_LEGAL_OPTION = _
(REG_OPTION_RESERVED Or _
REG_OPTION_NON_VOLATILE Or _
REG_OPTION_VOLATILE Or _
REG_OPTION_CREATE_LINK Or _
REG_OPTION_BACKUP_RESTORE)
Public Sub DeleteValue(rClass As _
T_KeyClasses, Path As String, sKey As String)
Dim hKey As Long
Dim res As Long
res = RegOpenKeyEx(rClass, Path, 0, _
KEY_ALL_ACCESS, hKey)
res = RegDeleteValue(hKey, sKey)
RegCloseKey hKey
End Sub
Public Function SetRegValue(KeyRoot As _
T_KeyClasses, Path As String, sKey As _
String, NewValue As String) As Boolean
Dim hKey As Long
Dim KeyValType, KeyValSize As Long
Dim KeyVal, tmpVal As String
Dim res, x As Long
Dim i As Integer
res = RegOpenKeyEx(KeyRoot, Path, 0, _
KEY_ALL_ACCESS, hKey)
If res <> 0 Then GoTo Errore
tmpVal = String(1024, 0)
KeyValSize = 1024
res = RegQueryValueEx(hKey, sKey, 0, _
KeyValType, tmpVal, KeyValSize)
Select Case res
Case 2
KeyValType = REG_SZ
Case Is <> 0
GoTo Errore
End Select
Select Case KeyValType
Case REG_SZ
tmpVal = NewValue
Case REG_DWORD
x = Val(NewValue)
tmpVal = ""
For i = 0 To 3
tmpVal = tmpVal & Chr(x Mod 256)
x = x \ 256
Next
End Select
KeyValSize = Len(tmpVal)
res = RegSetValueEx(hKey, sKey, 0, _
KeyValType, tmpVal, KeyValSize)
If res <> 0 Then GoTo Errore
SetRegValue = True
RegCloseKey hKey
Exit Function
Errore:
SetRegValue = False
RegCloseKey hKey
End Function
silahkan priview dan jalankan start up yang telah di buat. semoga bermanfaat untuk semuanya aminnnn !!!

No comments:
Post a Comment