(2014-02-20 13:47:41 отредактировано yursed)

Автозащита не завершает работу программы

Почему автозащита не может (или не хочет) завершить работу моей защищенной программы после изъятия ключа из порта?

Вставляю ключ Sign, запускаю программу, извлекаю ключ из порта, после чего программа выдаёт сообщение "Guardant dongle not found. Make sure...". После нажатия на "Ok" программа не завершается а сворачивается в нижний левый угол экрана (защита уменьшает размеры формы в минимум и перемещает ее), но сама программа и все ее потоки продолжают функционировать.

Перепробовал разные комбинаций опций /USB_DONGLE_CONTROL /T /RC и /EXIT_DELAY, но ничего не помагает - программа продолжает работать в свернутом виде.

В документации написано:

/USB_DONGLE_CONTROL
Опция позволяет защищенному приложению отслеживать присутт
ствие локального USBBключа Guardant в порту компьютера. Если в
процессе работы приложения ключ извлекается из порта, то вывоо
дится соответствующее сообщение, и приложение реагирует, как
это указано в описании опции /RC.

Читаем /RC:
Если в процессе работы защищенного приложения ключ не будет
обнаружен, то можно проверять его наличие и выводить сообщее
ние об отсутствии ключа заданное число раз. Для этого служит опп
ция /RC[=x], где x   число проверок ключа.
Применение этой опции дает возможность пользователю сохраа
нить наработанные данные и корректно завершить работу с прии
ложением, например, в случае выхода ключа из строя.
Если опция не указана, сообщение будет выводиться 50 раз.
При отсутствии ключа на экран выводится диалог с сообщением и
кнопками  [Retry] и [Cancel]. После нажатия [Retry] программа
продолжает работать ~ 10 – 30 сек, а затем проверяет ключ. Если
ключ не найден, вновь выводится сообщение, если найден – прии
ложение продолжает работать в штатном режиме.
Если после заданного числа проверок ключ не будет обнаружен, то
выводится вышеописанное сообщение с кнопкой [Ok], после наа
жатия которой приложение завершает работу.

/EXIT_DELAY
Если в процессе работы защищенного приложения ключ не будет
обнаружен, то, при использовании данной опции, приложение выы
ведет на экран сообщение о принудительном завершении работы
приложения через заданное время.
Это даст возможность пользователю сохранить наработанные данн
ные и корректно завершить работу с приложением, например, в
случае выходе ключа из строя.


Используя опции /EXIT_DELAY=1 /T=5, защита через 5 мин не "завершает работу", а просто сворачивает форму приложения...

При запуске приложения без ключа защита отрабатывает корректно: не дает приложению запуститься.

Может это из-за того, что моя программа долго закрывается (до 2 сек)? А может есть еще какие-либо опции, которые нужно использовать? Или как по другому завершить приложение?

Ключ Guardant Sign
OS Windows XP SP3
Guardant DevKit 6.3

Re: Автозащита не завершает работу программы

Здравствуйте, yursed.

В нормальном случае такое поведение защищенного приложения у нас не воспроизводится.
Пришлите, пожалуйста, нам на почту (hotline@guardant.ru) тестовое приложение, *.bat-файл со всеми параметрами автозащиты и *.nsd-файл маски, прошиваемой в тестовый ключ.