이클립스와 mingw compilier (C++)를 사용합니다. 많은 문자열이 들어있는 dll 파일을 만들고 싶습니다. 그 후 나는 (http://msdn.microsoft.com/en-us/library/windows/desktop/ms647486(v=vs.85).aspx)dll에서 문자열 가져 오기 C++
내 DLL 파일 문자열을 읽을 수 LoadString()
와 전화 싶습니다
#define WIN32_LEAN_AND_MEAN
#define DLL_FUNC extern "C" __declspec(dllexport)
DLL_FUNC int __stdcall Hello() {
return 0;
}
내 CPP 파일 :
#include <windows.h>
#include <stdio.h>
int main() {
typedef int (__stdcall *HelloProc)();
HMODULE hdll = LoadLibrary("HelloWorld.dll");
if(hdll == NULL){
MessageBox(HWND_DESKTOP, "Wrong dll path", "Message", MB_OK);
}
else {
typedef int (__stdcall *HelloProc)();
HelloProc Hello = (HelloProc)GetProcAddress(hdll, "[email protected]");
if(Hello == NULL){
//LoadString();
MessageBox(HWND_DESKTOP, "Hello is NULL", "Message", MB_OK);
}
else{
Hello();
}
}
return 0;
}
가 어떻게 문자열을 만들려면 어떻게해야합니까? LoadString()
으로 전화하는 방법은 무엇입니까?
Stringtable이 나에게 도움이 될 것입니다. 하지만 dll 파일에 문자열 테이블을 만드는 방법은? 나는 이것을 찾았 : http://stackoverflow.com/questions/2248786/builder-c-creating-stringtable-in-resource하지만이 컴파일하면이 오류가 발생합니다. 오류 : 'STRINGTABLE'형식을 지정하지 않습니다. 나는 dll 파일에 충분하지 않다고 생각한다. – user1601401
@ user1601401 그들은 C/C++의 일부가 아니기 때문에 _resource 컴파일러로 리소스를 컴파일해야한다. Microsoft에서 제공하는 전체 SDK (무료로 제공되는 것 같습니다)를 다운로드 받아야하거나 이미 갖고있는 SDK에 사본이 필요할 수 있습니다. SDK 폴더 트리에서'rc.exe'라는 이름의 프로그램을 찾으십시오. –