Создание именованного Mutex в c # exe и доступ к нему dll в c ++ - PullRequest
0 голосов
/ 18 февраля 2010

У меня есть два exe, один в C #, а другой - vc ++ exe.Оба этих exe должны получить доступ к файлу.

Так что я планирую создать именованный мьютекс в c #VC ++, как я могу получить доступ к этому названному mutex.Может ли кто-нибудь дать мне образцы кодов для этого

Ответы [ 2 ]

1 голос
/ 18 февраля 2010

Примерно так в коде C ++:

HANDLE hMutex = CreateMutex(NULL, FALSE, name);
if (hMutex == NULL) {
  // Handle failure.
}

Если вам нужно узнать, существует ли мьютекс, проверьте hMutex != null && GetLastError() == ERROR_ALREADY_EXISTS.

Полученный ACL по умолчанию должен быть в порядке для случаев, когда оба процесса находятся в одном сеансе, в противном случае вам потребуется установить соответствующий ACL.

1 голос
/ 18 февраля 2010

Если вы создали мьютекс в c #, ваш код C ++ будет выглядеть примерно так:

HANDLE mutexHandle = OpenMutex(SYNCHRONIZE,0,"NameOfYourMutex");
if(mutexHandle == 0) {
  //handle error
}
...