==== Как все это работает. ==== * Сервер раздает ihab'ы и hwnd - индексы ниток и окон. * Окна получают сообщения. * Сообщения получаются либо из очередей, привязанных к ihab, либо напрямую, * есле они send из той же нитки, либо ненапрямую, но без помещения вочередь, * если они send из другой нитки процесса. Ненапрямую - значит оно вызывает процедуру * окна внутри WinGetMsg. * Если сообщение посылается другому процессу, оно посылается через сервер. * Если send - то ждется, если post, то пихается в очередь процесса, опять-таки внутрях WinGetMsg Сервер по запросу клиента F_CMD_GET_IHAB выдает свободный ihab, и clientId === Как писать программы: === * Берется исходник для PM. Исправляются инклуды с os2.h на F_OS2.hpp и дефайны с INCL_DOS, INCL_WIN на F_INCL_DOS, F_INCL_WIN добавляется #include "PM_FPM.h" и добавляем в проект клиентские библиотеки FreePM. === Обратная совместимость. === * Чтоб программа для FreePM могла работать под PM и чтоб не менять все вызовы F_xxx на WinXXX или GpiXXX добавляем в проект файл \FreePM\lib\PMcompat\PM_api.cpp