Распихать по разным местам приложения обфусцированный код, который будет проверять валидность ключа, и который потом (если надо) все равно нафиг поломают.
Лучшая защита - вынос коммерчески значимого функционала на внешний сервер.
К данному ответу добавлю, что если программа "массовая", то ваш ключ точно взломают рано или поздно (если она, конечно, вообще нужна хоть кому-нибудь). Если же она заточена под два десятка контор узкоспециальных, то в защите, быть может, вообще нет смысла. (хотя, учитывая что вы школьник и одиночка, то врядли это ваш случай).