По поводу "защиты". Это то мне понятно. Это сделать несложно. Но взломать то такую защиту вроде не должно составлять труда. Мне нужно сделать, чтобы было как то так: Вот есть у меня 5 инвайт кодов на программу. Если я раздал 2 инвайт кода и их использовали, то никто больше никогда не сможет использовать их. Как мне реализовать это? Видимо, нужно сделать какой-то обмен информацией, да?
Именно. Во первых тебе прийдется в интернете иметь постоянно запущенный сервер с базой данных, в котором будут храниться инвайты и информация о том использованы они уже или еще нет. Тогда уже в своей программе ставишь защиту, чтобы программа работала при введенном правильном коде. То есть. Запускаешь программу и она просит ввести код. Когда код ввели и кликнули по кнопке то должен даваться запрос в базу данных сервера. Если код в базе отмечен как неиспользуемый то этот код сохраняется в папку с программой или привязывается к номеру программы и все. А если такой код уже используется то выдается сообщение, что такой код использовать нельзя или он занят.
А как ты без интернета будешь программы с разных компьютеров сверять (их инвайт коды)? Ну можешь сделать сервер по локальной сети - для компьютеров именно этой сети. Или внутри каждой программы прописывай какие коды подходят именно этому экземляру програмы. Просто так ты не сможешь отследить все компьютеры в мире с твоей программой.