C++ (Qt)QSharedMemory theSharedMem; struct CSharedData { int mType. mVers; HWND mWnd; char mDummy[4];};UINT theMsgID = 0;------------theMsgID = ::RegisterWindowMessage(GetAppFullName()); theSharedMem.setName(GetAppFullName());if (theSharedMem.create(SHARED_SIZE)) { // рабочая копия theSharedMem.lock(); CSharedData * sd = (CSharedData *) theSharedMem.data(); memset(sd, 0, SHARED_SIZE); sd.mType = DATA_TYPE; // инициализация sd.mVers = DATA_VERS; theSharedMem.unlock();} else if (theSharedMem.attach()) { // копия для передачи командной строки bool stop = false; while (!stop) { theSharedMem.lock(); CSharedData * sd = (CSharedData *) theSharedMem.data(); if (sd->mWnd) { // добавляем командную строку ... stop = true; ::PostMessage(sd->mWnd, theMsgID, 0, 0): } theSharedMem.unlock(); if (!stop) ::Sleep(10); // ждем когда появится mWnd } exit(0);}