Использование C/C++ Windows API RegisterWindowMessage()Различные RegisterWindowMessage() имена появляются один и тот же
Я использую имя приложения в качестве имени сообщения.
Далее я вызываю CreatMutex() с тем же именем, чтобы я мог узнать, существует ли он. Если это так, я знаю, что это приложение уже запущено, а не запускать второй экземпляр. Это операция моей функции Running()
Мое замешательство над именем сообщения. Кажется, что «AutoConvert.exe» и «AutoAppend.exe» интерпретируются как одно и то же имя. Зачем?
Добавлено: Im не на моей машине, но это что-то вроде функции, которая вызывается в обоих приложениях, чтобы проверить, если приложение в настоящее время работает
INT AlreadyRunning(string sAppName) {
INT runchk = RegisterWindowMessage(sAppName.c_str());
INT retval = CreateMutex(0, 1, sAppName.c_str());
if(retval > 0) {
if(GetLastError = ERROR_ALREADY_EXISTS) {
SendMessage HWND_BROADCAST, runchk, 0, 0;
return 1;
}
}
return 0;
}
Когда я вернусь, я должен сделать некоторые дополнительные как вы делаете хороший момент.
Я предполагаю, что это означает, что при запуске AutoAppend во второй раз он возвращается к уже запущенному AutoConvert. В противном случае ваши Мьютеки не уникальны, когда они должны быть. –