Это не то, что можно сделать одной мыслью. Это зависит от различных факторов, связанных с вашим приложением. У вашего приложения есть доступ к реестру или нет? Он установлен с правами администратора или нет.
Я могу дать вам некоторое представление о том, как сделать это с основными привилегиями.
Создайте зашифрованный ключ, который принимает текущую системную дату и некоторые другие параметры, которые вы можете использовать по своему усмотрению, и сохраните этот ключ в файле в папке приложения или там, где вы можете.
Каждый раз, когда пользователь запускает приложение, он получает ключ, расшифровывает его и проверяет, больше ли сохраненная сегодня дата, чем ваш пробный период, чем на основе того, что вам нужно выполнить любое действие, которое вы можете, например отключить кнопки и т. Д.
Я уверен, что есть много других методов, которым следуют другие, и у каждого есть свои критерии и ограничения в этой реализации.
Некоторые вопросы, которые вам действительно нужно задать себе:
Насколько важно то, что вы пытаетесь защитить?
Сколько вы готовы заплатить (вовремя, деньгами и усилиями), чтобы
реализовать это поведение?
Каковы шансы, что люди попытаются обойти вашу
реализации?
Будет ли стоимость (время, деньги и усилия) больше, чем
потенциальная потеря доходов от людей в обход пробного периода?
Есть еще один вопрос по SO с аналогичным требованием, также просмотрите эти ответы.