TRegistry ile ilgili küçük bir soru....

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
cenap_b
Üye
Mesajlar: 46
Kayıt: 21 Mar 2004 08:59
Konum: İzmir
İletişim:

TRegistry ile ilgili küçük bir soru....

Mesaj gönderen cenap_b »

Herkese Selamlar saygılar.....
Delphide reg düzenleme ile ilgili küçük bir sorum olacaktı....
TRegistry ile reg kayıtlarında değişiklik yapıyorum..örneğin arkaplan resmi!..ancak bu hemen aktif olmuyor..Yeniden başlatılınca aktif hale geliyor...aynı şekilde ses ayarınıda reg den yükseltiyorum ama oda hemen aktif olmuyor...bu bileşende guncelleme yada yenileme gibi bir olayt varmıdır?..yaptıgım değişiklikleri nasıl hemen kullanablirim:)
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

Selam

- İşlemden sonra şöyle yaz...

Kod: Tümünü seç

SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, PChar(Dosya),
                          SPIF_SENDWININICHANGE); 

- Tam fonksiyon ise şu şekilde..

Kod: Tümünü seç

procedure DuvarKagidiSec( Dosya:TFileName; Doseme:Boolean );
var
  Reg : TRegistry;
begin
  if FileExists(Dosya) then begin
    Reg := TRegistry.Create;
    Reg.RootKey := HKEY_CURRENT_USER;
    If Reg.OpenKey('Control Panel\Desktop', False) then begin
      Reg.WriteString( 'Wallpaper', Dosya);
      If Doseme then Reg.WriteString('TileWallpaper', '1')
                else Reg.WriteString('TileWallpaper', '0');
      SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, PChar(Dosya),
                          SPIF_SENDWININICHANGE); // SPIF_UPDATEINIFILE da olabilir
    end;
    Reg.Free;
  end;
end;
Resim
Resim ....Resim
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3081
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Mesaj gönderen sabanakman »

Mrb; sn @mrmarman, aynı kodlar uzantı bilgisi sisteme uygulandığı anda da çalışır mı yoksa değişik parametreler mi uygulanıyor? Sistemim elimin altında olmadığı için deneyemiyorum ama mesela .mmm uzantısını mmm.exe'ye ayarladığım zaman a.mmm dosyasının yeni simgesini görebilmek için reset atmam gerekiyordu ama bu fonksiyonlar bu durumda da aynen çalışabiliyor mu?
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

@sabanakman ben aşağıdaki şekilde yapıyorum ve sadece aktif pencere refresh edilince yeni icon geliyor...

Kod: Tümünü seç

procedure RegisterFileType(sExt, sKey, sDesc, sIcon, sIconIdx, sApp:string);
var
  MyReg : TRegIniFile;
begin
  if (sExt = '') or (sApp = '') then exit;

  MyReg := TRegIniFile.Create('');
  try
    MyReg.RootKey := HKEY_CLASSES_ROOT;
    if sKey = '' then
      sKey := Copy(sExt, 2, MaxInt) + '_arman';
    MyReg.WriteString(sExt, '', sKey);
    MyReg.WriteString(sKey, '', sDesc);
    if sIcon <> '' then
      MyReg.WriteString(sKey + '\DefaultIcon', '', sIcon + ','+ sIconIdx);
    MyReg.WriteString(sKey+'\shell\open\command','',sApp+' "%1"');
  finally
    MyReg.free;
  end;
end;
Kullanımını yazmayı unutmuşum

Kod: Tümünü seç

  RegisterFileType( '.mmm',   'mmm_db',  'mmm Veritabanı', 'c:\mmm.exe', '1', 'c:\mmm.exe' );
Not > Yandaki 1 rakamı, Resource içerisindeki kaçıncı icon'un atanacağıdır. Yani EXE Iconu farklı, atanacak uzantının iconu farklı olması mümkün... :idea:
Resim
Resim ....Resim
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3081
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Mesaj gönderen sabanakman »

mrmarman yazdı:@sabanakman ben aşağıdaki şekilde yapıyorum ve sadece aktif pencere refresh edilince yeni icon geliyor...
desenize boşuna reset atıyormuşum :) . Sağolun elinize sağlık. Konumuz ile alakası yok ama bir zamanlar forumlardan bi haber kasıldım durdum, şuncağız kod için saatlerce uğraştığım gün geldi şimdi aklıma. Forum damarımıza işledi ne olacak bu gidiş bilmiyorum ama hadi hayırlısı diyelim. Bazen biraz sıkıntılı bir konu ile karşılaşınca hiç bir hamle yapmadan direk forumda soru yazarken buluyorum kendimi. Halbuki biraz uğraşınca sonucu elde edebileceğim bir işlem için ne diye forumu işgal edeyim ki (kaçkere kendimi son anda foruma soru yazmaktan alıkoydum hatırlamıyorum). Bu form işi çok faydalı ama iyi niyetli bir çok forum fanatiği yüzünden de insan ister istemez biraz tembelleşebiliyor. Bununla ilgili bir sohbet açsam mı ne yapsam? (Kendi kendime de çok iyi konuşurum :) (yok yok ben kafayı yedim, )).
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

- hocam estağfurullah, insanlık hali. Hepimizin durumu aynı.

- Mesela ben de şimdi sıkıntı duyduğum bir konu hakkında araştırma yapıyorum. Bulamazsam yazıcam foruma. Foruma yazsam da araştırmaya devam edicem ve tahmin ediyorum ki belki de daha ilk cevap gelmeden bulucam sonucu, kimbilir. İşte biliyoruz ki bu durumu zaman belirliyor. Onun için boşuna canını sıkma, zevkle cevap yazıyoruz :wink: Zaman olmadığında başkasının zamanı oluyor o yazıyor. Forum / Community ruhu bu zaten. :wink:
Resim
Resim ....Resim
Kullanıcı avatarı
cenap_b
Üye
Mesajlar: 46
Kayıt: 21 Mar 2004 08:59
Konum: İzmir
İletişim:

Mesaj gönderen cenap_b »

hocam eline koluna sağlık..gerçekten çok yardımcı oldun..çok teşekkür ederim..
iyi çalışmalar....
Cevapla