Merhaba. Programın bulunduğu klasör adı ExtractFilePath(Application.ExeName) koduyla elde edilir. Ayrıca bir dosya içindeki simgeyi çekip okumak ve onu kaydetmek için aşağıdaki gibi bir koddan faydalanabilinir.procedure SimgeOku(const SimgeDosyaAdi,YeniKopyaAdi:String; const SimgeSiraNo:Integer=0);
var Simge:Graphics.TIcon; HandleIcon: Windows.HICON;
begin
HandleIcon:=ExtractIcon(HInstance,PChar(DosyaAdi),SimgeSiraNo);
try
Simge:=TIcon.Create;
Simge.Handle:=HandleIcon;
Simge.SaveToFile(ExtractFilePath(Application.ExeName)+YeniKopyaAdi);
finally
DestroyIcon(Simge.Handle);
Simge.Free;
end;
end;Böylelikle if OpenFileDialog.Execute then SimgeOku(OpenFileDialog.FileName,'Deneme.ico',2);şeklindeki bir kodla seçilen dosyanın 3. sırasındaki simge okunacaktır (tabi varsa. Birden çok simge bazı .exe ve .dll dosyalarda olabilir). Burada ilk simgenin sıra numarası 0'dır. SimgeSiraNo değeri hiç verilmezse ilk (0.) sıradaki simge elde edilir. İyi çalışmalar.