• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Registry den bilgi okumak

  • Konbuyu başlatan Konbuyu başlatan k0081
  • Başlangıç tarihi Başlangıç tarihi
Katılım
17 Haziran 2008
Mesajlar
1,874
Excel Vers. ve Dili
Microsoft Ofis Profesyonel 2019 x64 TR
Merhaba arkadaşlar;

Command buton ile ; Registry den bir bölümdeki bilgiyi Msgbox ile nasıl alabilirim..?

-----------------------
Registry deki Yol;
-----------------------

"HKEY_LOCAL_MACHINE\SOFTWARE\ACAD_KINKOUT", "Kin1"


yardımcı arkadaşa şimdiden Teşekkürler..
 
Aşağıdaki kodu deneyin;

Kod:
Sub Test()
    Dim myShell As Object
    Dim myRegKey As String
    Dim myKey As String
    
    myKey = "HKEY_LOCAL_MACHINE\SOFTWARE\ACAD_KINKOUT\Kin1"
     
    On Error Resume Next
    Set myShell = CreateObject("WScript.Shell")
    myRegKey = myShell.RegRead(myKey)
    MsgBox myRegKey
End Sub

.
 
Hocam denedim. Fakat veriyi alamadı...

Kin1 burda dize değeridir. Yani alacağım veri bunun içinde yazıyor..

Teşekkürler..
 
O zaman, RegisteryEditor'ü açıp kontrol ederek, aşağıdaki kodu deneyin.
Eğer bu kod sizde çalışıyorsa, kendinize uyarlayın.

Kod:
Sub Test_RegMail()
    Dim myShell As Object
    Dim myRegKey As String
    Dim myKey As String
    
    myKey = "HKEY_LOCAL_MACHINE\SOFTWARE\Clients\Mail\Windows Live Mail\DLLPath"
     
    On Error Resume Next
    Set myShell = CreateObject("WScript.Shell")
    myRegKey = myShell.RegRead(myKey)
    MsgBox myRegKey
End Sub
 
Hocam tamamdır.. çok teşekkür ediyorum,, sorunun nereden kaynaklandığını buldum.

Sistemim 64 bit olduğu için;

myKey = "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ACAD_KINKOUT\Kin1"

bu dizinden devam ediyor...


Çok teşekkür ederim..
 
Yukarıda verdiğim kodun çalıştırılmasına ilişkin ekran görüntüsü aşağıdadır ...

.





.
 
Sorunun çözüldüğüne sevindim, kolay gelsin ....


.
 
Sayın @Haluk Hocam verdiğiniz kodları şimdi kullandım işime yaradı. Çok teşekkür ederim . Ama regedit üzerinde textbox1 yardımı ile değiştirme kapmak istediğimde olmuyor. Sorunu bulmadım. revize ettğim kaydetme kodunu ekliyorum aşağıya

Kod:
Private Sub Kaydet1_Click()

Dim myShell As Object
    Dim myRegKey As String
    Dim myKey As String

    myKey = "HKEY_CURRENT_USER\Software\VB and VBA Program Settings\ProV1\V1\Licence Manager"
   
'''''''''TextBox1e Kaydetmek İçin Aşağıdaki Kod''''''''''''''''''''''''''''''''''''''''''''''''''''''''
my = "HKEY_CURRENT_USER\Software\VB and VBA Program Settings\ProV1\V1\Licence Manager"
my = TextBox1
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    On Error Resume Next
    Set myShell = CreateObject("WScript.Shell")
    myRegKey = myShell.RegRead(myKey)
    MsgBox myRegKey
End Sub
 
Registery yolunu ben şu şekilde düşündüm, aşağıdaki resmi de inceledikten sonra ekli dosyayı deneyebilirsiniz.....



Capture.PNG



.
 

Ekli dosyalar

@TURKOLOG ;

Sorunuza karşılık üşenmeden oturup kendi registery'im içinde mesajınıza uygun düzenleme yapıp, istediğiniz konuyu anlatan resim ve örnek dosya hazırladım, ekledim.

Gelip gördüğünüz halde bir cevap yazma zahmetinde bulunmadınız, o zaman artık benim de bundan sonrası için yapacak birşeyim olmaz....

.
 
Savesettings ve Getsettings metodlarının baktığı ve her programcının iyi bildiği bir anahtar yoludur orası...
 
Hocam ekte userform ekledim .
Userform üzerinden tekxtbox35 2 3 4 5 değişmiyor buralarda tarih ve serial var . Ama regedit üzerinden bunları çok rahat degsitirebiliyorum.
Msgbox ile değiştiği bilgisini veriyor ama formu yenileyince değişiklik regedite kaydedilmiyor
 

Ekli dosyalar

Hocam dosyanızı indiririm ama yeni yeni tecrübe etme imkanım oldu . Mesaideyim hala . Daha eve gidemedim. Takdir edin ki elimde olan bit durum değil. Tecrübe eder etmez de dosyayı güncelleyip ekledim. Lutrfrn böyle düsünmeyin Hocam. Inanın hala amir bey yanımda size bu mesajı yazarken
 
Sizin Registery'deki durum resimdeki gibi mi?


Capture.PNG

.
 
Hocam anlayışınız için teşekkür ederim.
Evet resimdeki gibi. Ama data kısımlarında veri var
 
Ekli dosyayı deneyin ....

TextBox1 değeri hangi anahtar ise onu da diğerleri gibi halledersiniz.

.
 

Ekli dosyalar

Sayın @Haluk Hocam elinize emeğinize sağlık kodda minicik bir güncelleme yaptım. Bir gün lazım olur birine diye ekliyorum. Çok teşekkür ederim.

Kod:
Const regPath = "HKEY_CURRENT_USER\Software\VB and VBA Program Settings\ProV1\V1"


Private Sub CommandButton4_Click()
    Unload Me
    Giriş.show
End Sub

'
Private Sub Değiştir1_Click()
    myKey = regPath & "\Licence Manager"
    Set myShell = CreateObject("WScript.Shell")
    myShell.RegWrite myKey, TextBox1, "REG_SZ"
    
myRegKey = myShell.RegRead(myKey)
MsgBox myRegKey
End Sub

Private Sub Değiştir2_Click()
    myKey = regPath & "\StartDate"
    Set myShell = CreateObject("WScript.Shell")
    myShell.RegWrite myKey, TextBox2, "REG_SZ"
    
myRegKey = myShell.RegRead(myKey)
MsgBox myRegKey
End Sub

Private Sub Değiştir3_Click()
    myKey = regPath & "\EndDate"
    Set myShell = CreateObject("WScript.Shell")
    myShell.RegWrite myKey, TextBox3, "REG_SZ"
        
myRegKey = myShell.RegRead(myKey)
MsgBox myRegKey
End Sub

Private Sub Değiştir4_Click()
    myKey = regPath & "\SerialKontrol"
    Set myShell = CreateObject("WScript.Shell")
    myShell.RegWrite myKey, TextBox4, "REG_SZ"
        
myRegKey = myShell.RegRead(myKey)
MsgBox myRegKey
End Sub

Private Sub Değiştir5_Click()
    myKey = regPath & "\Serial"
    Set myShell = CreateObject("WScript.Shell")
    myShell.RegWrite myKey, TextBox5, "REG_SZ"
        
myRegKey = myShell.RegRead(myKey)
MsgBox myRegKey
End Sub

Private Sub UserForm_Initialize()
    Dim myShell As Object
    Dim myKey As String
    
    On Error Resume Next
    Set myShell = CreateObject("WScript.Shell")
    
    myKey = regPath & "\Licence Manager"
    TextBox1 = myShell.RegRead(myKey)
    
    myKey = regPath & "\StartDate"
    TextBox2 = myShell.RegRead(myKey)
    
    myKey = regPath & "\EndDate"
    TextBox3 = myShell.RegRead(myKey)
    
    myKey = regPath & "\SerialKontrol"
    TextBox4 = myShell.RegRead(myKey)
    
    myKey = regPath & "\Serial"
    TextBox5 = myShell.RegRead(myKey)
End Sub
 
Registery eklediğim resimdeki gibi mi ? ... diye sorunca siz de "Evet" demiştiniz ama, durum birazcık farklıymış.

Neyse ki işin mantığını kavrayıp, kodu adapte etmişiniz..... her ne kadar @Zeki Gürsoy 'un 11. mesajda dediği gibi; siz altınları hırsızın en kolay bulacağı yere saklamışınız ama, işin mantığını öğrenmeniz bile sizin için altın'dan kıymetlidir...

Kolay gelsin,

.
 
Son düzenleme:
Registery eklediğim resimdeki gibi mi ? ... diye sorunca siz de "Evet" demiştiniz ama, durum birazcık farklıymış.

Neyse ki işin mantığını kavrayıp, kodu adapte etmişiniz..... her ne kadar @Zeki Gürsoy 'un 11. mesajda dediği gibi; siz altınları hırsızın en kolay bulacağı yere saklamışınız ama, işin mantığını öğrenmeniz bile sizin için altın'dan kıymetlidir...

Kolay gelsin,

.
Hocam burdan küçük bir sır vermek isterim kendime dair ama sakın @Zeki Gürsoy Hocam duymasın :) meslek icabı diyorum : Hırsız bir yere girince hep olmadık yerlerde arar altını halbuki gözünün önündedir ama yok artık orda hayatta olmaz diyip bakmaz . en olmadık yere saklayanların altınları hep çalınır.
Emekleriniz içi n çok teşekkür ederim.
 
Kolay gelsin ..... :) :)

.
 
Geri
Üst