리소스 DLL을 어떻게 만듭니 까? dll은 .png 파일 세트를 갖습니다. 이러한 .png 파일은 dll에서 노출되어야합니다. 내 응용 프로그램은이 dll을 참조하여 .png 파일을 가져와야합니다.리소스 DLL을 만드는 방법
8
A
답변
17
리소스 dll은 다른 dll과 동일하며 코드가 거의없고 리소스가 상대적으로 많습니다.
Microsoft는 PNG 파일에 대한 사전 정의 된 자원 유형을 가지고 있지 않지만, 당신이 정의 할 수 있습니다 자신의
가장 최소한의 가능한 리소스 DLL이 같은 링커에 전달 단지 컴파일 .RC 파일입니다.
//save this as resources.rc (supply your own .png file)
#define RT_PNG 99
#define ID_DIGG 1
ID_DIGG RT_PNG "image\\digg.png"
그런 다음 명령 프롬프트에서 다음 명령을 실행합니다.
rc resources.rc
link /dll /noentry /machine:x86 resources.res
그 것이다. 첫 번째 명령은 resources.rc를 resources.res로 컴파일합니다. 두 번째 명령은 resources.res를 dll로 변환합니다.
이제 단일 png 파일을 포함하는 resources.dll
이라는 dll이 생겼습니다. 물론 실제로는 dll을 사용하는 코드와 공유하는 헤더 파일에 #defines
을 넣어야합니다.
C++에서 dll을 사용하려면 코드가 다음과 비슷할 것입니다.
#define RT_PNG MAKEINTRESOURCE(99)
#define ID_DIGG MAKEINTRESOURCE(1)
HMODULE hMod = LoadLibraryEx("resources.dll", NULL, LOAD_LIBRARY_AS_DATAFILE);
if (NULL != hMod)
{
HRSRC hRes = FindResource(hMod, RT_PNG, ID_DIGG);
if (NULL != hRes)
{
HGLOBAL hgbl = LoadResource(hMod, hRes)
void * pPng = LockResource(hgbl);
UINT32 cbPng = SizeofResource(hMod, hRes);
// pPng now points to the contents of your your .png file
// and cbPng is its size in bytes
}
// Don't free the library until you are done with pPng
// FreeLibrary(hMod);
}
관련 문제
- 1. VB.NET에서 DLL을 만드는 방법
- 2. 리소스 위성 어셈블리를 만드는 방법
- 3. ASP.NET에서 리소스 관리자를 만드는 방법
- 4. 장치 dll을 설명하는 리소스 dll을 만드는 방법은 무엇입니까? DDK에 따르면 내가 짓고 있어요
- 5. .Net 앱에서 DLL을 선택적으로 만드는 방법
- 6. .net에서 크로스 플랫폼 DLL을 만드는 방법
- 7. 내 C++ 코드의 DLL을 만드는 방법.
- 8. iPhone 전용 리소스 번들을 만드는 방법
- 9. DLL을 포함하는 Jar를 만드는 방법은 무엇입니까?
- 10. VS06에서 earliar 만든 VS08에 대한 DLL을 만드는 방법
- 11. Pantheios 로거에 대한 고정 백엔드 DLL을 만드는 방법
- 12. Visual Studio 2005에서 ATL/C++ ActiveX DLL을 만드는 방법
- 13. dll을 GAC에 설치하는 방법.
- 14. 프로젝트간에 dll을 전송하는 방법
- 15. dll을 사용하는 방법?
- 16. 리소스에서 DLL을 추출하는 방법
- 17. dll을 메모리에 임베드하는 방법
- 18. dll을 사용하는 방법?
- 19. .NET DLL을 보호하는 방법
- 20. asp.net dll을 실행하는 방법?
- 21. C# dll을 문서화하는 방법
- 22. GAC에서 DLL을 복사하는 방법
- 23. .dll을 디버깅하는 방법?
- 24. DLL을 디버깅하는 방법
- 25. 리소스 DLL에있는 파일에 액세스하는 방법
- 26. DLL을 모든 데이터베이스와 호환 가능하게 만드는 것입니다.
- 27. Cygwin1.dll의 종속성없이 이클립스에서 DLL을 만드는 법
- 28. .NET에서 사용할 C++ DLL을 만드는 팁
- 29. exe 또는 dll을 어셈블리로 디 컴파일하는 방법
- 30. MFC의 고유 언어 DLL을 수동으로로드하는 방법
와우 ... 감사합니다. 많이 ..이 유용한 정보처럼 보입니다. –
이 기술을 사용하여 실시간으로 내 자체 제작 된 IE 툴바 버튼의 아이콘을 변경할 수 있습니까? – karikari
@karikari : 나는 그렇게 생각하지 않는다. 이 기술이 실시간 변경에 어떻게 도움이되는지는 알 수 없습니다. DLL의 리소스는 링크 타임에 정의되며 동적이지 않습니다. –