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:)
TRegistry ile ilgili küçük bir soru....
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Selam
- İşlemden sonra şöyle yaz...
- Tam fonksiyon ise şu şekilde..
- İş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;
- sabanakman
- Kıdemli Üye
- Mesajlar: 3081
- Kayıt: 17 Nis 2006 08:11
- Konum: Ah bi Antalya olaydı keşke (Ankara)
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. - .
_________________
Derin olan kuyu değil kısa olan iptir. - .
@sabanakman ben aşağıdaki şekilde yapıyorum ve sadece aktif pencere refresh edilince yeni icon geliyor...
Kullanımını yazmayı unutmuşum
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... 
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;
Kod: Tümünü seç
RegisterFileType( '.mmm', 'mmm_db', 'mmm Veritabanı', 'c:\mmm.exe', '1', 'c:\mmm.exe' );

- sabanakman
- Kıdemli Üye
- Mesajlar: 3081
- Kayıt: 17 Nis 2006 08:11
- Konum: Ah bi Antalya olaydı keşke (Ankara)
desenize boşuna reset atıyormuşummrmarman yazdı:@sabanakman ben aşağıdaki şekilde yapıyorum ve sadece aktif pencere refresh edilince yeni icon geliyor...


Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
_________________
Derin olan kuyu değil kısa olan iptir. - .
- 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
Zaman olmadığında başkasının zamanı oluyor o yazıyor. Forum / Community ruhu bu zaten. 
- 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

