Serial 통신을 위한 DLL 을 만들고 있습니다.
VB 에서 쓰기 위해서 인데요..
Window API 만을 이용해서 만들려구 합니다.
궁금한거 간단하게 정리 해보겠습니다.
1. DLL 에서 스레드가 생성 가능한지..가능 하다면, DLLMain 에 따로 설정을 해야 하는지..
2. VB 프로그램에 DLL 에서 메시지를 전달 해야 하는데..( ex Comm 포트에 데이터를 받았다는 메시지를 날려야 하는데..)
가능한지..가능하다면 어떻게..
이 두가지가 너무 궁금하고 급합니다..
월요일까지 결과물이 나와야 하는데 답답한 마음에 염치 불구하고 질문 올립니다.
즐거운 하루 되세요..
>
>VB 에서 쓰기 위해서 인데요..
>
>Window API 만을 이용해서 만들려구 합니다.
>
>궁금한거 간단하게 정리 해보겠습니다.
>
>1. DLL 에서 스레드가 생성 가능한지..가능 하다면, DLLMain 에 따로 설정을 해야 하는지..
>
>>> 네, 생성 가능합니다. DLLMain은 따로 설정하실 필요는 없을 것 같습니다. 스레드를 가동시킬 함수등을 익스포트 시켜두고 사용하시면 됩니다.
>2. VB 프로그램에 DLL 에서 메시지를 전달 해야 하는데..( ex Comm 포트에 데이터를 받았다는 메시지를 날려야 하는데..)
>가능한지..가능하다면 어떻게..
>>> SendMessage나 PostMessage 사용 가능합니다.
MSDN참조하셔서 사용하시면 될것 같네요. 윈도우 핸들을 dll이 가져가도록 별도 함수를 만들어 두셔도 되겠구요...
>
>이 두가지가 너무 궁금하고 급합니다..
>
>월요일까지 결과물이 나와야 하는데 답답한 마음에 염치 불구하고 질문 올립니다.
>
>즐거운 하루 되세요..
...
#ifdef __cplusplus
extern "C" {
#endif
_declspec(dllexport) int StartThread();
_declspec(dllexport) int StopThread();
#ifdef __cplusplus
}
#endif
BOOL APIENTRY DllMain( HANDLE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
return TRUE;
}
_declspec(dllexport) int StartThread()
{
스레드 생성
return 1;
}
_declspec(dllexport) int StopThread()
{
스레드 종료...
return 1;
}