Как вы называете свой openEvent?
Я полагаю, что-то вроде этого
int result = kernel32.OpenEvent( 10000, false, "Global\\nameOfEvent" ); //request for deletion
с той лишь разницей, что вы можете использовать объекты в качестве аргументов, что, я полагаю, являетсявопрос предпочтения.
Возможно, если вы предоставите код для звонка, мы сможем вам помочь.Еще одна вещь, которую нужно спросить, если вы вызываете CreateEvent в вашем родном коде где-то.Если вы покопаетесь в Windows API, вы заметите, что:
"Функция завершается успешно, только если какой-то процесс уже создал событие с помощью функции CreateEvent."
source: http://msdn.microsoft.com/en-us/library/ms684305(v=vs.85).aspx
Что в вашей ситуации означает, что у вас будут большие неприятности, если вы не тот, кто будет создавать событие.Есть способ получить дескриптор для события, которое вы не создали, но это немного сложнее, и давайте начнем с того, что предоставим вам немного больше информации.
Приветствия.
Подводя итог:
Если вы нигде не вызываете CreateEvent в своем коде, у вас будут проблемы при вызове OpenEvent.Чтобы избежать этой проблемы, вам в основном нужно найти, какой процесс / поток удерживает блокировку для события, и сделать так, чтобы она передавала его вашему потоку (jvm's).
Если вы вызываете CreateEvent в своем коде, тогда вам следуетне возникнет проблем с получением ссылки на ваше мероприятие, а виновник находится где-то еще.
В любом случае, немного больше кода было бы неплохо.