DLL を使用しているフォームを取得しました。DLL を介してフォームのハンドルを取得する方法はありますか?
このようなもの:
SetWindowText(HandleOfTheForm, 'This Program is using my DLL');
文法ミスでごめんなさい。
DLL を使用しているフォームを取得しました。DLL を介してフォームのハンドルを取得する方法はありますか?
このようなもの:
SetWindowText(HandleOfTheForm, 'This Program is using my DLL');
文法ミスでごめんなさい。
DLL がフォーム ウィンドウを自動的に検出する方法はありません。フォーム自体は、DLL がエクスポートする関数などによって、使用する HWND を DLL に伝える必要があります。FindWindow()
またはを使用しEnumWindows()
ます。
より良いオプションは、フォームがハンドラーを割り当てることができるコールバックを公開するように DLL を記述し、必要に応じて DLL にそれを呼び出させ、呼び出されたときに何をすべきかをフォームに決定させることです。そうすれば、DLL はフォームについて何も知る必要がありません。