0
DLL을 사용하는 Form이 있습니다. DLL을 통해 양식의 핸들을 가져 오는 방법이 있습니까? 이 같은DLL을 사용하는 Form의 핸들을 어떻게 얻을 수 있습니까?
뭔가 : 문법 실수에 의한
SetWindowText(HandleOfTheForm, 'This Program is using my DLL');
죄송합니다.
DLL을 사용하는 Form이 있습니다. DLL을 통해 양식의 핸들을 가져 오는 방법이 있습니까? 이 같은DLL을 사용하는 Form의 핸들을 어떻게 얻을 수 있습니까?
뭔가 : 문법 실수에 의한
SetWindowText(HandleOfTheForm, 'This Program is using my DLL');
죄송합니다.
DLL이 사전 지식없이 Form 창을 자동으로 발견 할 방법이 없습니다. Form 자체는 DLL에서 HWND를 사용할 때 DLL이 내보내는 함수에 의해 알려주거나 Form이 DLL에서 찾을 수있는 알 수있는/예상 가능한 클래스 이름 및/또는 창 제목을 제공해야합니다. FindWindow()
또는 EnumWindows()
을 사용하십시오.
더 나은 옵션은 Form이 처리기를 할당 할 수있는 콜백을 노출하도록 DLL을 작성한 다음 DLL이 필요할 때 호출하고 Form을 호출 할 때 수행 할 작업을 결정하게하는 것입니다. 그런 식으로 DLL은 Form에 대해 전혀 알 필요가 없습니다.