Простое межпроцессное взаимодействие в Qt4 - PullRequest
2 голосов
/ 28 апреля 2009

Мне нужно сделать так, чтобы в моем приложении одновременно мог работать только один экземпляр. Также, когда он запускается с параметром командной строки (например, когда регистрируется для открытия файлов определенных типов), он должен передать параметр в существующий экземпляр и немедленно выйти без отображения графического интерфейса. Вы все, наверное, знаете, что я имею в виду. Используемый фреймворк - Qt 4, и, похоже, он должен иметь некоторые возможности для этого. Есть идеи?

Ответы [ 3 ]

3 голосов
/ 28 апреля 2009

Есть проект Qt Solutions, который делает это:

Qt Single Application

1 голос
/ 07 мая 2009

Существует несколько способов взаимодействия между процессами. Примеры можно найти в разделе примеров в Qt .

0 голосов
/ 29 апреля 2009

Также возможно реализовать такой класс самостоятельно, используя QSharedMemory (см. QSharedMemory :: attach ()). Его можно использовать как для определения, запущен ли другой экземпляр, так и для передачи / отправки сообщений. За исключением магии указателя и копирования памяти, это довольно просто.

...