- 1 Ocak 2012
- 691
- 97
Herkese merhaba
Visual Basic bölümünede bir konu açalımda hareket olsun.
Visual Basic 6 da api olmazsa olmaz, apisiz bir proje boş bir tabağa benzer.
Bildiğiniz gibi .net dillerinde bu apileri toplayıp bir kütüphane haline getirdiler çok basit bir şekilde 1 satırla kodlama yapabiliyorsunuz.
ama visual basic 6 da o kadar kolay kodlama olmuyor tabi bunun nedeni dilin çok eski olması nitekim visual basic .net visual basic 6 nın bir devamı olarak yapıldı ve vb.netteki kodlar vb6 ile %90 oranında aynıdır kütüphane extrasıdır. Neyse konumuza gelelim kodları aşağıya bırakıyorum..
RegOpenKeyEx HKEY_CURRENT_USER, RAMA_RUN_WINDOWS, 0, KEY_ALL_ACCESS, Handle yerindeki HKEY_CURRENT_USER kodunu HKEY_LOCAL_MACHINE ile değişirseniz o bilgisayardaki tüm kullanıcılarda çalışır.
Başlangıca eklemek için...
Başlangıçtan silmek için
Kodlamayı yazdığınız projenin başlanğıçta çalışmasını istiyorsanız kullanabilirsiniz..
Hoşçakalın sağlıcakla kalın..
Visual Basic bölümünede bir konu açalımda hareket olsun.
Visual Basic 6 da api olmazsa olmaz, apisiz bir proje boş bir tabağa benzer.
Bildiğiniz gibi .net dillerinde bu apileri toplayıp bir kütüphane haline getirdiler çok basit bir şekilde 1 satırla kodlama yapabiliyorsunuz.
ama visual basic 6 da o kadar kolay kodlama olmuyor tabi bunun nedeni dilin çok eski olması nitekim visual basic .net visual basic 6 nın bir devamı olarak yapıldı ve vb.netteki kodlar vb6 ile %90 oranında aynıdır kütüphane extrasıdır. Neyse konumuza gelelim kodları aşağıya bırakıyorum..
Kod:
Option Explicit
Private 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
Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long
Private Declare Function RegSetValueExString Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, ByVal lpValue As String, ByVal cbData As Long) As Long
Private Declare Function RegDeleteKey& Lib "advapi32.dll" Alias "RegDeleteKeyA" (ByVal hKey As Long, ByVal lpSubKey As String)
Private Declare Function RegQueryValueExNULL Lib "advapi32.dll" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, lpType As Long, ByVal lpData As Long, lpcbData As Long) As Long
Private Declare Function RegQueryValueExString Lib "advapi32.dll" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, lpType As Long, ByVal lpData As String, lpcbData As Long) As Long
Private Declare Function RegDeleteValue& Lib "advapi32.dll" Alias "RegDeleteValueA" (ByVal hKey As Long, ByVal lpValueName As String)
Private Const RAMA_RUN_WINDOWS As String = "SOFTWARE\Microsoft\Windows\CurrentVersion\Run"
Private Const HKEY_CLASSES_ROOT = &H80000000
Private Const HKEY_CURRENT_USER = &H80000001
Private Const HKEY_LOCAL_MACHINE = &H80000002
Private Const HKEY_USERS = &H80000003
Private Const REG_SZ As Long = 1
Private Const KEY_ALL_ACCESS = &H3F
Public Function BaslangicKontrol(Eklensin As Boolean) As Boolean
Dim Path As String
Dim Handle As Long
Path = Chr(34) & App.Path & "\" & App.EXEName & ".exe" & Chr(34)
RegOpenKeyEx HKEY_CURRENT_USER, RAMA_RUN_WINDOWS, 0, KEY_ALL_ACCESS, Handle
If Eklensin Then
BaslangicKontrol= (RegSetValueExString(Handle, App.Title, 0&, REG_SZ, Path, Len(Path)) = 0)
Else
BaslangicKontrol= RegDeleteValue(Handle, App.Title) = 0
End If
RegCloseKey Handle
End Function
RegOpenKeyEx HKEY_CURRENT_USER, RAMA_RUN_WINDOWS, 0, KEY_ALL_ACCESS, Handle yerindeki HKEY_CURRENT_USER kodunu HKEY_LOCAL_MACHINE ile değişirseniz o bilgisayardaki tüm kullanıcılarda çalışır.
Başlangıca eklemek için...
Kod:
Call BaslangicKontrol(True)
Başlangıçtan silmek için
Kod:
Call BaslangicKontrol(False)
Kodlamayı yazdığınız projenin başlanğıçta çalışmasını istiyorsanız kullanabilirsiniz..
Hoşçakalın sağlıcakla kalın..