Уважаемый
mrcnn, я знаю, что "с нулём" (т.е. когда функция принимает все сообщения из потока) все отлично работает, гораздо более интересно, почему не работает с конкретным значением hWnd (т.е. когда функция принимает сообщения от данного окна).
Уважаемый
hasherfrog, вот нарезка кода:
Код:

var
Msg: TMsg; // аналог MSG в Си
handleWnd, Label1 : THandle; // аналог HWND в Си
.........
handleWnd:=CreateWindow(myClassName,'See a label below?',WS_OVERLAPPEDWINDOW,0,0,200,100,hWndParent,0,hInstance,nil);
if handleWnd = 0 then
if MessageBox(0,'Failed to create Window'#13'Close Application?',nil,MB_TASKMODAL or MB_ICONWARNING or MB_OKCANCEL)=ID_OK then
Exit;
Label1:=CreateWindow('STATIC','See me?',WS_VISIBLE or WS_CHILD or WM_SETTEXT,10,10,60,23,handleWnd,0,hInstance,nil);
if Label1 = 0 then
if MessageBox(0,'Failed to create Label'#13'Close Application?',nil,MB_TASKMODAL or MB_ICONWARNING or MB_OKCANCEL)=ID_OK then
Exit;
.........
ShowWindow(handleWnd, SW_SHOW);
UpdateWindow(handleWnd);
while GetMessage(Msg, handleWnd, 0, 0) do begin // если вместо handleWnd поставить 0, то все отлично
TranslateMessage(Msg);
DispatchMessage(Msg);
end;
.........
Проблема в том, что программа не выходит из цикла while.