Regedit

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Misafir

Regedit

Mesaj gönderen Misafir »

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
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

:arrow: İ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... :wink:

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;
- 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...

- Senin yapman gereken şey, Butona basınca

Kod: Tümünü seç

RegYaz('NoCd', 1);
satı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...

- Afiyet olsun...
En son mrmarman tarafından 08 Mar 2004 08:29 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Resim
Resim ....Resim
abdulkadir
Kıdemli Üye
Mesajlar: 489
Kayıt: 13 Eyl 2003 09:10
Konum: istanbul
İletişim:

Mesaj gönderen abdulkadir »

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;

abdulkadir
Kıdemli Üye
Mesajlar: 489
Kayıt: 13 Eyl 2003 09:10
Konum: istanbul
İletişim:

Mesaj gönderen abdulkadir »

Merhaba mrmcop hocam

Ben zemin arkadasımaza cevap yazarken sen hızlı davranmıssın
Daha dogrusu hızlı ve uzmanca davranmıssın.

Basarılar dilerim
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

@abdulkadir hocam... Sadece kendisi yeni delphi öğreniyor, geçmişteki bazı zaman kayıplarını değerlendirip onun için kod gönderdim...

- Milisaniyelik fark, zaman aynı :) :lol:
Resim
Resim ....Resim
Misafir

Mesaj gönderen Misafir »

silemeyi nasıl yapıcaz
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

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);
Ekler ve aktive eder...

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);
Ekler ve deaktive eder...

iptal etmek içn yeterli... silmeye gerek yok... Dilersen silebilirsin de...
Resim
Resim ....Resim
abdulkadir
Kıdemli Üye
Mesajlar: 489
Kayıt: 13 Eyl 2003 09:10
Konum: istanbul
İletişim:

Mesaj gönderen abdulkadir »

Anahtar veya Dizeyi Yok etmek için
(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; 
Sevgiler
Misafir

Mesaj gönderen Misafir »

mrmcop yazdı::arrow: İ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... :wink:

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;
- 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...

- Senin yapman gereken şey, Butona basınca

Kod: Tümünü seç

RegYaz('NoCd', 1);
satı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...

- Afiyet olsun...
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 ???
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

- 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... :idea:

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

- 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... :!:
Resim
Resim ....Resim
PeeRLeeSS
Üye
Mesajlar: 16
Kayıt: 12 Nis 2006 08:35

Mesaj gönderen PeeRLeeSS »

şimdi ben msl ana sayfayı about:blank yapacam kodlarıda aşağıda bunları button a tıkaldığımda girmek istiyorum verdiğiniz bu kodların nerelerine yerleştirecem bir örnek verirseniz sevinirim..


kodlar:

[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main]

"Start Page"="about:blank"
Cevapla