VC++ 2005'te kaynak olarak bir metin dosyası eklemek istiyorum. Kaynak şablonunda seçenek olarak metni bulamıyorum. VC++ 2005'te kaynak olarak nasıl metin dosyası eklenir?
Ayrıca bir kez programlama yaparken o dosyaya bakın nasıl eklenir? Oldukça basit
7
A
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.
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
GetModuleHandle (NULL) kullanın. Cevabımı buna göre değiştirdim. – humbagumba
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