How to limit 32-bit applications to one instance in Visual C++
«Метод, который используется в этой статье, является тот, который описан в MSDN по теме WinMain. Он использует CreateMutex функцию, чтобы создать именованный семафор, который может быть проверен в различных процессах. Вместо того, чтобы дублировать один и тот же код для каждого приложения, которое вы будете использовать как один экземпляр, код, который вы должны иметь, находится в классе оболочки C++, который вы можете повторно использовать в каждом приложении ».
SendMessage Function
«Посылает указанное сообщение в окно или окно. Функция SendMessage вызывает оконную процедуру для указанного окна и не возвращается, пока оконная процедура не обработает сообщение.»
«Приложения, которые должны связываться с использованием HWND_BROADCAST, должны использовать функцию RegisterWindowMessage для получения уникального сообщения для взаимодействия между приложениями».
RegisterWindowMessage «Функция RegisterWindowMessage определяет новое оконное сообщение, которое гарантировано будет уникальным во всей системе. Значение сообщения может использоваться при отправке или отправке сообщений».
Я думал, что вы должны запускать такие приложения безопасности, как службы или на Windows Secure Desktop. –
Zan, вы правы в этом, это был просто пример. Вы можете применить эту идею к MS-Word/OpenOffice. Но они не опустились бы до таких оценок: - Если у вас есть агрессивный конкурент, они могут использовать такую систему, чтобы остановить ваше приложение. – Skizz