Как определить что программа запущена в первый раз? Без создания папок или файлов настроек. Эти способы я знаю. Как определить чисто без всего этого? Может есть какой метод?
Правильный путь для этого — Settings
([1], [2]).
Пропишите настройку типа bool
в User Scope с именем IsFirstRun
и значением true
.
В коде программы, в начале, пропишите:
bool isFirstRun = Properties.Settings.Default.IsFirstRun;
if (isFirstRun)
{
Properties.Settings.Default.IsFirstRun = false;
Properties.Settings.Default.Save();
}
Всё!
Без использования настроек сделать это можно, но вам придётся по сути делать то же самое, только вручную. Не изобретайте велосипед.
Если вы хотите бороться против злонамеренного пользователя на его компьютере, считайте, что вы проиграли до начала битвы. Пользователь на своей машине может вообще всё. Он может запустить ваш код под отладчиком и обратить вашу логику проверок. Он может запустить вас в виртуальной машине. Он может декомпилировать ваш код, убрать проверки, и подменить модуль.
Виртуальный выделенный сервер (VDS) становится отличным выбором
Как реализовать копирование нужных колонок из таблицы? Например при клике на кнопку в буфер должны упасть все значения, которые были в первом...
У меня есть событие, в котором я получаю изменяемое значениеПри каждом событии создаю поток и проверяю одной функцией, дошло ли значение...
После завершения функции f_name на строке label16Invoke(new Action(UpdateLabel)); падает исключение "Поток был прерван, когда находился в состоянии ожидания"