2010-06-11 13 views

cevap

11

: En çözümde, sağ RC dosyasını tıklayın, görünümü kaynak "Kaynak Ekle" seçeneğini "Import" tıklayın, "Tüm dosyalar" sonra da istediğiniz dosyayı açmak seçin geçin. Özel bir kaynak türü girmeniz istenir. Örneğin "TEXT" girin.

HRSRC hRes = FindResource(GetModuleHandle(NULL), MAKEINTRESOURCE(IDR_TEXT1), _T("TEXT")); 
DWORD dwSize = SizeofResource(GetModuleHandle(NULL), hRes); 
HGLOBAL hGlob = LoadResource(GetModuleHandle(NULL), hRes); 
const BYTE* pData = reinterpret_cast<const BYTE*>(::LockResource(hGlob)); 

Sen veya serbest kaynak kilidini gerekmez, bu nedenle herhangi bir ek aramaları olmadan yazıldığı gibi bu kod tam olarak kullanılabilir:

Artık böyle özel kaynak yükleyebilirsiniz. Programınız çıktığında kaynak serbest bırakılacak.

+0

AfxGetResourceHandle yalnızca MFC'de kullanılabilir. Hangi API'nın win32'de kullanabileceğine dair bir fikriniz var mı? Bir exe oluşturuyorum ve tüm kaynakları bu exe içinde. – anand

+0

GetModuleHandle (NULL) kullanın. Cevabımı buna göre değiştirdim. – humbagumba

+1

GetModuleHandle (NULL), EXE kaynakları için çalışır, ancak burada bulunan kaynaklar için DLL modül tanıtıcısı sağlanmalıdır. Ve globda takip edilen olası çöp karakterleri verilen dizgeyi null olarak unutmayalım. – bvj

İlgili konular