![]() |
![]() |
MatriXakep 02.05.2004 - 13:01 | Как из ресурсов записать в файл HTML ресурс. |
MatriXakep 1 - 02.05.2004 - 13:08 | Среда разработки - MSVC++ 6 |
MatriXakep 2 - 02.05.2004 - 16:58 |
Ок я уже разобрался! %))) вот так. Поправьте, если что не так. :) HRSRC hrsrcRes = FindResource(AfxGetApp()->m_hInstance,MAKEINTRESOURCE(IDR_ORDERTEMP),RT_HTML); HGLOBAL hglbRes = LoadResource(AfxGetApp()->m_hInstance,hrsrcRes); CFile html; html.Open("1.html",CFile::modeCreate|CFile::modeWrite); html.Write(hglbRes,SizeofResource(AfxGetApp()->m_hInstance,hrsrcRes)); html.Close(); |
UE 3 - 03.05.2004 - 06:39 |
1. лучше писать вместо AfxGetApp()->m_hInstance функцию AfxGetResourceHandle(). 2. не знаю, работает ли этот код, но безопаснее и правильнее получать указатель на ресурс с помощью функции LockResource(). |
? 4 - 03.05.2004 - 11:18 | тогда уж лучше вместо AfxGetResourceHandle писать GetModuleHandle() ;) |
MatriXakep 5 - 03.05.2004 - 20:59 | Каждый пишет как понимает и как нравится :))) |
archimag 6 - 04.05.2004 - 02:34 | Насчёт LockResource. Это правильнее только если есть как минимум два потока, которые могут пожелать обратиться к ресурсу, а просто лишний вызов довольно тяжёлой функции ни к чему. |
UE 7 - 04.05.2004 - 05:14 | 2archimag, тяжелой? :) |
UE 8 - 04.05.2004 - 05:17 | 2?, нет, не лучше - GetModuleHandle() очевидно хуже, чем AfxGetResourceHandle(), потому что первая функция завязана на названнии модуля, а вторая - нет. |
? 9 - 04.05.2004 - 09:59 |
(to UE) название красивое ;) вообще откуда тогда берётся дескриптор если не из GetModuleHandle() или есть ещё какая либо функция? |