Delphi/C++Builder クラス内で EnumWindowProc を使う
クラス内で EnumWindowProc を使おうと、メンバとしてメソッドを定義するのはNG
EnumWindowProc を通常の関数として定義して、呼び出し側 EnumWindows の第二引数に、ポインタを受け渡せば(自身のクラスなど)、EnumWindowProc の lPara にそれが入って呼び出されるので、キャストするなりしてやる
EnumWindowProc を通常の関数として定義して、呼び出し側 EnumWindows の第二引数に、ポインタを受け渡せば(自身のクラスなど)、EnumWindowProc の lPara にそれが入って呼び出されるので、キャストするなりしてやる
function EnumWindowProc(hWindow: HWND; lPara: LPARAM): Boolean; stdcall; begin TMyClass(lPara).~ end; // TMyClass での呼び出し EnumWindows(@EnumWindowProc, LParam(Self));
コメント