Regedit
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Regedit
HKEY_CURRENT_USER\Software\Microsoft\Windows\
CurrentVersion\Policies\Explorer'da Yeni*IkiliDeğeri açın. İsim olarak aşağıdakilerden herhangi birini verebilirsiniz. Çift tıklayın.Geçerli duruma getirmek için deger verisini duruma göre 01 00 00 00 veya 1 yapın.
·NoAddPrinter (Sisteme yeni yazıcı eklenemez.)
·NoClose (Oturumu Kapat yok olur.)
·NoDeletePrinter (Sistemde yazıcı iptalini önler.)
·NoDesktop (Masaüstünde birşey gözükmez.)
·NoDrives ("Bilgisayarım"'da sürücüler gözükmez.)
·NoFind ("Bu"l yok olur.)
·NoNetHood ("Ağ Komşuları" yok olur.)
·NoRun ("Çalıştır" yok olur.)
·NoSetTaskbar (Baslat/Ayarlar/Görev Çubuğu & Başlat Menüsü yok olur.)
·NoSaveSettings (Çıkışta ayarları kaydetmez.)
burdaki NoRun ("Çalıştır" yok olur.) bunu delphiden butona tıkladığım zaman nasıl regedite NoRun (1) diye yaptırabilirim yani regeditdeki değerleri delphiden editlicem düzenlicem
bi soru daha sorim regedite nasıl bi değer ekleyebilirm vede silebilirim regeditdet isdediğimi ? regeditde mesela NoRun (0) şuan çalıştır gözüküyor bunu formumdaki butana tıkladığım zmaan 1 olmasını istiyorum böylece çalışltır kaybolacak biliyorsunuz ben acemiyim benim seviyeme göre cevap verirseniz sevinirim yani butona hangi kodu ewklicem bıu kod bu işe yarar vs. vs. şimdiden teşekkürler
CurrentVersion\Policies\Explorer'da Yeni*IkiliDeğeri açın. İsim olarak aşağıdakilerden herhangi birini verebilirsiniz. Çift tıklayın.Geçerli duruma getirmek için deger verisini duruma göre 01 00 00 00 veya 1 yapın.
·NoAddPrinter (Sisteme yeni yazıcı eklenemez.)
·NoClose (Oturumu Kapat yok olur.)
·NoDeletePrinter (Sistemde yazıcı iptalini önler.)
·NoDesktop (Masaüstünde birşey gözükmez.)
·NoDrives ("Bilgisayarım"'da sürücüler gözükmez.)
·NoFind ("Bu"l yok olur.)
·NoNetHood ("Ağ Komşuları" yok olur.)
·NoRun ("Çalıştır" yok olur.)
·NoSetTaskbar (Baslat/Ayarlar/Görev Çubuğu & Başlat Menüsü yok olur.)
·NoSaveSettings (Çıkışta ayarları kaydetmez.)
burdaki NoRun ("Çalıştır" yok olur.) bunu delphiden butona tıkladığım zaman nasıl regedite NoRun (1) diye yaptırabilirim yani regeditdeki değerleri delphiden editlicem düzenlicem
bi soru daha sorim regedite nasıl bi değer ekleyebilirm vede silebilirim regeditdet isdediğimi ? regeditde mesela NoRun (0) şuan çalıştır gözüküyor bunu formumdaki butana tıkladığım zmaan 1 olmasını istiyorum böylece çalışltır kaybolacak biliyorsunuz ben acemiyim benim seviyeme göre cevap verirseniz sevinirim yani butona hangi kodu ewklicem bıu kod bu işe yarar vs. vs. şimdiden teşekkürler


Kod: Tümünü seç
Procedure RegYaz(Baslik:String; Deger : dWord);
var
Reg : TRegistry;
begin
Reg := TRegistry.Create;
Reg.RootKey := HKEY_CURRENT_USER; // Dalın ana başlığı seçilir...
Reg.OpenKey('\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer', False); // ilgili dal açılır...
If NOT Reg.ValueExists(Baslik) then Reg.CreateKey(Baslik); // Baslık Yoksa Oluşturulur...
Reg.WriteBinaryData(Baslik, Deger, SizeOf(Deger)); // Baslik için değer yazılır...
Reg.CloseKey; // Key kapatılır...
Reg.Free;
end;
- Senin yapman gereken şey, Butona basınca
Kod: Tümünü seç
RegYaz('NoCd', 1);
- Afiyet olsun...
En son mrmarman tarafından 08 Mar 2004 08:29 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
-
- Kıdemli Üye
- Mesajlar: 489
- Kayıt: 13 Eyl 2003 09:10
- Konum: istanbul
- İletişim:
Reg Yazmak için küçük bir örnek
Kod: Tümünü seç
//Uses satırına "Registry" unit ini ekle
procedure TForm1.Button1Click(Sender: TObject);
var
R:Tregistry;
begin
R:=TRegistry.Create;
R.RootKey:=HKEY_CURRENT_USER;
R.OpenKey('\Software\Microsoft\Windows\',False);
//False değeri eğer anahtar yoksa oluşturulmaz (True ile olusturur)
R.WriteString('AYARLAR ','Durum');
//WriteString('Dize Adı','Değer') ile string değer yazıldı
//yazılan integer deger ise "Writeinteger('Dize Adı','Değer')" kullan
R.CloseKey;
R.free;
end;
-
- Kıdemli Üye
- Mesajlar: 489
- Kayıt: 13 Eyl 2003 09:10
- Konum: istanbul
- İletişim:
Kod: Tümünü seç
RegYaz('NoAddPrinter', 1);
RegYaz('NoClose', 1);
RegYaz('NoDeletePrinter', 1);
RegYaz('NoDesktop', 1);
RegYaz('NoDrives', 1);
RegYaz('NoFind', 1);
RegYaz('NoNetHood', 1);
RegYaz('NoRun', 1);
RegYaz('NoSetTaskbar', 1);
RegYaz('NoSaveSettings', 1);
Kod: Tümünü seç
RegYaz('NoAddPrinter', 0);
RegYaz('NoClose', 0);
RegYaz('NoDeletePrinter', 0);
RegYaz('NoDesktop', 0);
RegYaz('NoDrives', 0);
RegYaz('NoFind', 0);
RegYaz('NoNetHood', 0);
RegYaz('NoRun', 0);
RegYaz('NoSetTaskbar', 0);
RegYaz('NoSaveSettings', 0);
iptal etmek içn yeterli... silmeye gerek yok... Dilersen silebilirsin de...
-
- Kıdemli Üye
- Mesajlar: 489
- Kayıt: 13 Eyl 2003 09:10
- Konum: istanbul
- İletişim:
Anahtar veya Dizeyi Yok etmek için
(NOT: Update degil Delete eder )
Sevgiler
(NOT: Update degil Delete eder )
Kod: Tümünü seç
var
R:Tregistry;
begin
R:=TRegistry.Create;
R.RootKey:=HKEY_CURRENT_USER;
if R.KeyExists('Anahtar Adı') then
//KeyExists() ile anahtarın olup olmadığı soruluyor
R.DeleteKey('Anahtar Adı'); //DeleteKey() ile verilen anahtar siliniyor
//R.DeleteValue('dize Adı'); //DeleteValue() ile verilen dize silinebilir
R.CloseKey;
R.free;
Bisoru daha sorim burda ikili değer ekliyorsun sadece bunu nasıl dword yada başka bi biçim yapabilirim yani mesela ben ikli değer değilde DWORD yapmak istiyorum ???mrmcop yazdı:İstediğin kod şöyle... Sana kalan ise bu seçenekleri birer CheckListBox ile seçimlik hale getirip sonra da topluca Registry'ye işle demek...
![]()
- Bu procedure'ü ilk procedure olarak projene ekle... Tanımlamana bile gerek kalmaz... Hani daha önce başına TForm1 vs koydurmada problem yaşamıştık ya onun için diyorum...Kod: Tümünü seç
Procedure RegYaz(Baslik:String; Deger : dWord); var Reg : TRegistry; begin Reg := TRegistry.Create; Reg.RootKey := HKEY_CURRENT_USER; // Dalın ana başlığı seçilir... Reg.OpenKey('\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer', False); // ilgili dal açılır... If NOT Reg.ValueExists(Baslik) then Reg.CreateKey(Baslik); // Baslık Yoksa Oluşturulur... Reg.WriteBinaryData(Baslik, Deger, SizeOf(Deger)); // Baslik için değer yazılır... Reg.CloseKey; // Key kapatılır... Reg.Free; end;
- Senin yapman gereken şey, Butona basıncasatırını eklemen... Listesini verdiğin başlıkları ve yanlarındaki değerleri giriyorsun, gerekli dal procedure tarafından seçilip açılıp işleniyor...Kod: Tümünü seç
RegYaz('NoCd', 1);
- Afiyet olsun...
- Burada yaptığın girişi matematikteki ikili sayı sistemiyle karıştırma...
- Binary demek ikili demek ama 0 ve 1 değil 16'lık sayı sistemine göre her basamak 1 byte olacak şekilde giriş yapılıyor...
- Yani sen onluk sistemde 149 rakamı girdiğinde orada sandığın gibi 10010101 değil 95 00 00 00 görürsün...
- dWord ise 4 byte uzunluğundadır ve FF FF FF FF girebilirsin... 4294967295 rakamına karşılık gelir... (Bkz.Windows Hesap makinası...)
- Bu tip konularda yeterince bilgi sahibi olmadan registry konusunda ikinci bir kere daha düşün derim. Yanlış girişler yaparsan Windows'u baştan kurmak zorunda kalabilirsin...

- Binary demek ikili demek ama 0 ve 1 değil 16'lık sayı sistemine göre her basamak 1 byte olacak şekilde giriş yapılıyor...

- Yani sen onluk sistemde 149 rakamı girdiğinde orada sandığın gibi 10010101 değil 95 00 00 00 görürsün...

- dWord ise 4 byte uzunluğundadır ve FF FF FF FF girebilirsin... 4294967295 rakamına karşılık gelir... (Bkz.Windows Hesap makinası...)
- Bu tip konularda yeterince bilgi sahibi olmadan registry konusunda ikinci bir kere daha düşün derim. Yanlış girişler yaparsan Windows'u baştan kurmak zorunda kalabilirsin...
