Проблема с вызовом EnumThreadWindows

Тема в разделе "WASM.BEGINNERS", создана пользователем Aids, 22 май 2009.

  1. Aids

    Aids New Member

    Публикаций:
    0
    Регистрация:
    30 ноя 2007
    Сообщения:
    275
    С помощью функции EnumThreadWindows получаю какие то странные HWND?
    делаю следующее:
    вызываю
    Код (Text):
    1. EnumThreadWindows(GetCurrentThreadId,@EnumThreadWndProc1,d);
    2.  
    3. обработчик
    4. function EnumThreadWndProc1(hwnd1:HWND;lParam1:LPARAM):boolean;
    5. var
    6.   Buf:array[0..200] of char;
    7.   m:dword;
    8. begin
    9.   Form1.Memo1.Lines.Add(IntToStr(hwnd1));
    10.   if IsWindow(hwnd1) then Form1.Memo1.Lines.Add('Да');
    11.   result:=true;
    12. end;
    выводит следующие хенделы:
    7024192
    6453872
    но проверка их с IsWindow дала отрицательный результат. В чём дело?
     
  2. Aids

    Aids New Member

    Публикаций:
    0
    Регистрация:
    30 ноя 2007
    Сообщения:
    275
    всё сам разобрался. Надо писать так
    function EnumThreadWndProc1(hwnd1:HWND;lParam1:LPARAM):boolean;stdcall;