Здравствуйте, sergmann, Вы писали:
S>Здравствуйте, VladKurmaz, Вы писали:
VK>>Попробуй GetWindowLong( hWnd, DWL_MSGRESULT );
S>К сожалению, GetWindowLong(hWnd, DWL_MSGRESULT) не возвращает ничего ценного (только 0), независимо от того была ли вызвана EndDialog или нет.
EndDialog(MSDN)
EndDialog does not destroy the dialog box immediately. Instead, it sets a flag and allows the dialog box procedure to return control to the system. The system checks the flag before attempting to retrieve the next message from the application queue. If the flag is set, the system ends the message loop, destroys the dialog box, and uses the value in nResult as the return value from the function that created the dialog box.
Если этот флаг, это не GetWindowLong(hWnd, DWL_MSGRESULT), значит он находиться где-то
в GetWindowLong(hWnd, 0|4|8...) в экземпляре окна диалога.
Если это так, то это на хак похоже и может зависить от реализации Win32 GUI в разных
линейках Windows.