'Registry API
'// Funkcije //
Declare Function RegQueryValueEx Lib "advapi32.dll" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, lpType As Long, lpData As Any, lpcbData As Long) As Long
Declare Function RegOpenKeyEx Lib "advapi32.dll" Alias "RegOpenKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal ulOptions As Long, ByVal samDesired As Long, phkResult 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, ByVal lpData As String, ByVal cbData As Long) As Long
Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long
Declare Function RegDeleteValue Lib "advapi32.dll" Alias "RegDeleteValueA" (ByVal hKey As Long, ByVal lpValueName As String) As Long
'//Konstante //
Const HKEY_LOCAL_MACHINE = &H80000002
Const KEY_QUERY_VALUE = &H1
Const KEY_SET_VALUE = &H2
Const REG_SZ = 1
'////////////////////
Public Function StartUpAdd(ByVal appName As String, ByVal Path As String) As Long
'Odpri Run
Dim hKey As Long
Dim ret As Long
Dim ret2 As Long
ret = RegOpenKeyEx(HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft\Windows\CurrentVersion\Run", 0, KEY_SET_VALUE, hKey)
If ret <> 0 Then 'error
StartUpDodaj = "-1"
Exit Function
End If
ret2 = RegSetValueEx(hKey, appName, 0, REG_SZ, Path & vbNullChar, Len(Path) + 1)
If ret2 <> 0 Then 'error
StartUpAdd = "-2"
Exit Function
End If
StartUpAdd = 0
'close key
Call RegCloseKey(hKey)
hKey = 0
'// End //
End Function
Public Function StartUpRead(ByVal appName As String) As Long
Dim hKey As Long
Dim ret As Long
Dim ret2 As Long
Dim buffer As String
buffer = String(255, vbNullChar)
ret = RegOpenKeyEx(HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft\Windows\CurrentVersion\Run", 0, KEY_QUERY_VALUE, hKey)
ret2 = RegQueryValueEx(hKey, appName, 0, 0, ByVal buffer, Len(buffer))
If ret2 <> 0 Then
StartUpRead = 0
Else
StartUpRead = 1
End If
RegCloseKey hKey
End Function
Public Function StartUpDelete(ByVal appName As String)
'Odpri Run
Dim hKey As Long
Dim ret As Long
Dim ret2 As Long
ret = RegOpenKeyEx(HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft\Windows\CurrentVersion\Run", 0, KEY_SET_VALUE, hKey)
If ret <> 0 Then 'error
StartUpDelete = "-1"
Exit Function
End If
ret2 = RegDeleteValue(hKey, appName)
If ret2 <> 0 Then 'error
StartUpDelete = "-2"
Exit Function
End If
StartUpDelete = 0
'Close key
Call RegCloseKey(hKey)
hKey = 0
End Function