Merhaba arkadaşlar, dosya işleyen bir konsol uygulamam var. Uygulamayı exe olarak kaydetmek istiyorum ve program başka bir bilgisayarda çalıştırıldığında içerisindeki mevcut bilgiler korunacak ve yenisi yazılabilecek. Ancak bu işlediğim dosya klasörde ayrı olarak duruyor, exe dosyasının içerisine dahil edebiliyor muyuz bu işlenen dosyayı?
Dahil edilebilinir, mümkün.
Kullanılan derleyici neyse, exe oluşturulmadan önce proje ayaralarında o dosyayı "resource" olarak projeye dahil etmek gerekiyor. Böylelikle derleyici exeyi oluştururken o dosyanın içeriklerini de exeye gömecek o dosyanın bilgilerinin de içerisinde yer aldığı tek bir exe dosyası oluşacak.
Programın içersinden dosya bilgilerine ulaşmak ve okuma yapmak için de hangi işletim sistemi kullanılıyorsa onun API fonksiyonlarını kullanmak lazım. Mesela windows için FindResource, LoadResource, LockResource, SizeofResource gibi APIler yardımıyla exe içine gömülmüş dosyanın içeriği, yazılmış programın kodu içersinden okunabilinir.
ANCAK: O dosyayı tekrar editleyip hali hazırdaki exe dosyasına tekrar gömmek mümkün değil. Yani resource dosyaları "Read-Only" tip dosyalardır. Dosyayı güncellenmiş haliyle tekrar exeye gömüp exeyi yeni bir hale dönüştürmek için tabiyatıyle tekrar derlenmesi gerekiyor.