Как убрать диалог из DLL, зашифрованной через HASP, но оставить бросаемое исключение?
У меня есть сервер, который требуется защитить с помощью HASP.
У меня есть DLL с экспортируемой функцией, которая защищается посредством HASP. Проверка лицензии происходит просто по тому, кидается ли исключение при вызове функции.
При шифровании DLL с настройками по умолчанию, если ключ не найден, HASP показывает диалог с кнопкой OK, в котором отображается сообщение об ошибке. Когда сервер запущен как консольное приложение, всё в порядке. Но если сервер запущен как служба Windows, при попытке показать этот диалог сервер виснет.
Я попробовал сделать вывод не в диалог, а в журнал событий, либо в консоль. В результате, если включен поиск ключа по сети, программа, не найдя локальный ключ, виснет навечно, а если выключить поиск ключа по сети - при отсутствии ключа не кидается исключение, а программа немедленно молча завершается.