Как определить что программа запущена в первый раз?

168
02 марта 2018, 14:02

Как определить что программа запущена в первый раз? Без создания папок или файлов настроек. Эти способы я знаю. Как определить чисто без всего этого? Может есть какой метод?

Answer 1

Правильный путь для этого — 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();
}

Всё!

Без использования настроек сделать это можно, но вам придётся по сути делать то же самое, только вручную. Не изобретайте велосипед.

Если вы хотите бороться против злонамеренного пользователя на его компьютере, считайте, что вы проиграли до начала битвы. Пользователь на своей машине может вообще всё. Он может запустить ваш код под отладчиком и обратить вашу логику проверок. Он может запустить вас в виртуальной машине. Он может декомпилировать ваш код, убрать проверки, и подменить модуль.

READ ALSO
ASP.NET Core 2: CORS-ошибка

ASP.NET Core 2: CORS-ошибка

Есть проект, который опубликован как контейнер на Amazon ECS

198
Копирование в буфер нужной колонки в DataGridView

Копирование в буфер нужной колонки в DataGridView

Как реализовать копирование нужных колонок из таблицы? Например при клике на кнопку в буфер должны упасть все значения, которые были в первом...

184
Ограничить число создаваемых потоков

Ограничить число создаваемых потоков

У меня есть событие, в котором я получаю изменяемое значениеПри каждом событии создаю поток и проверяю одной функцией, дошло ли значение...

131
Обработать ошибку прерывания потока

Обработать ошибку прерывания потока

После завершения функции f_name на строке label16Invoke(new Action(UpdateLabel)); падает исключение "Поток был прерван, когда находился в состоянии ожидания"

149