2009-07-02 20 views
6

Gömülü bir kaynağı nasıl oluşturabilirim ve sonra C++ 'dan erişebilirim?C++ kaynağındaki katıştırılmış kaynak

Kaynağın nasıl okunacağı ile ilgili her şey harika olurdu.

Ben Visual Studio önceden 2005.

Teşekkür kullanıyorum.

Düzenleme: Alınan xml dosyasının şemasını doğrularken gereken bir xsd dosyası koymak istiyorum.

cevap

9

Ben @Sharptooth önce açıklandığı yapıyor ve resourceId ve type değiştirmek zorunda kaynak yönetmek İşte

HRSRC hResInfo = FindResource(hInstance, MAKEINTRESOURCE(resourceId), type); 
HGLOBAL hRes = LoadResource(hInstance, hResInfo); 
LPVOID memRes = LockResource(hRes); 
DWORD sizeRes = SizeofResource(hInstance, hResInfo); 

almak için aşağıdaki kodu kullanabilirsiniz ediyorum.

Örneğin .png dosyası için FindResource(hInstance, MAKEINTRESOURCE(bitmapId), _T("PNG")); kullanıyorum ("PNG" dizesi, özel kaynak eklerken kullandığınız türdür).

+0

Çalışma zamanında dll'nin işleyişini nasıl elde edersiniz? – Gilad

+0

Bu sorunun "DLL'den nasıl HINSTANCE alabilirim?" Sorusunu kontrol edebilir misiniz? http://stackoverflow.com/questions/2126657/how-can-i-get-hinstance-from-a-dll#2126689 – Ismael

3

Bir kaynak (.rc) dosyasını projeye ekleyin, kaynak açıklamasını buraya yerleştirin. Proje oluştururken, kaynak derleyici kaynak dosyasını derler ve bağlayıcı, derlenmiş kaynak dosyasını sonuçta çalıştırılabilir modüle bağlar.

Çalışma zamanında FindResource() öğesini, ardından LoadResource() WinAPI işlevlerini çağırın.

İlgili konular