Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/15: Рейтинг темы: голосов - 15, средняя оценка - 4.60
Человек
325 / 199 / 63
Регистрация: 04.02.2013
Сообщений: 1,200
1

Режим приватности

03.05.2013, 16:07. Показов 2938. Ответов 18
Метки нет (Все метки)

Как сделать программу приватной.
Допустим что-бы её не расшарили, необходимо после каждого запуска (или в какойто период 1-2 часа) вводить уникальный код.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.05.2013, 16:07
Ответы с готовыми решениями:

Два класса, ошибка из-за приватности полей
В двух словх... Первый класс - координата (широта или долгота), второй класс - корабль, у которого...

Ошибка о приватности конструктора пользовательского типа
Наткнулся на непонятную ошибку о приватности конструктора при объявлении-создании структуры...

VK API: изменения данных пользователя и настроек приватности
Никто не сталкивался с надобностью изменить некоторые данные о пользователе, скажем, любимые...

Как узнать почему включается энергосберегающий режим.И выключить навсегда этот режим?
Вообщем дело такое, гаснет монитор и появляется сообщение "Енергосберегающий режим" и в играх и...

18
83 / 78 / 14
Регистрация: 14.06.2012
Сообщений: 261
03.05.2013, 19:21 2
Ну, парень. Разработай алгоритм, который будет вычислять из полученного кода (уникального кода) правилен он или нет.
К примеру
код - 1234
3+2-1=4
или что-то в этом роде. На что фантазии хватит.
0
Человек
325 / 199 / 63
Регистрация: 04.02.2013
Сообщений: 1,200
03.05.2013, 19:29  [ТС] 3
Ну допустим у меня имеются заранее записанные комбинации, которые будут храниться где-то в недрах кода программы.
sd34g5hehbe55h;
4whg5g4wgerh6;
и т.д.
как реализовать саму систему.
0
1 / 1 / 1
Регистрация: 08.07.2012
Сообщений: 31
03.05.2013, 19:36 4
dolte, это называется капча. Есть очень много уже готовых ее вариантов, которые надо только поискать. Или же придумать свой. Есть даже интернет-сервисы, на которых можно создавать капчу.
Вот пример
1
Человек
325 / 199 / 63
Регистрация: 04.02.2013
Сообщений: 1,200
03.05.2013, 19:54  [ТС] 5
Цитата Сообщение от Semena Посмотреть сообщение
dolte, это называется капча. Есть очень много уже готовых ее вариантов, которые надо только поискать. Или же придумать свой. Есть даже интернет-сервисы, на которых можно создавать капчу.
Вот пример

Для примера, есть платная программа, и чтобы её использовать неограниченное кол-во времини, нам необходимо ввести ключь.

Тут принцып такой-же, только код будет запрашиваться постоянно (через заранее заданный период).


Капча подойдет ?
0
657 / 527 / 137
Регистрация: 07.07.2011
Сообщений: 1,232
03.05.2013, 20:29 6
Цитата Сообщение от dolte Посмотреть сообщение
где-то в недрах кода программы
И это у тебя выдернуть через 15 минут поиска.
0
1 / 1 / 1
Регистрация: 08.07.2012
Сообщений: 31
03.05.2013, 20:33 7
dolte, подойдет или не подойдет - надо пробовать. Главное здесь - вопрос безопасности. Другое дело, что многих пользователей будет раздражать постоянно вводить капчу.
0
83 / 78 / 14
Регистрация: 14.06.2012
Сообщений: 261
04.05.2013, 08:20 8
Друзья, не капчу, а лицензионный ключ (или как он там называется), он пытается сделать.
ShareWare программа, ключ которой запрашивается каждый раз при запуске...

P.S. Люди вряд ли будут заинтересованы в твоем продукте.

Что касается решения, то добавь на форму текстбокс и кнопку

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// код кнопки
List<string> codes = new List<string>();
codes.Add("КОД_1");
codes.Add("КОД_2"); // и т.д.
 
// проверка 
bool register = false;
foreach(string s in codes)
{
   if(textBox1.Text == s) // проверка с текстом в текстбоксе
   {
      register = true; // совпал
      break;
   }
}
 
if(!register)
{
   MessageBox.Show("Ключ введен неверно!");
   environment.exit(0); // выход
}
0
902 / 663 / 132
Регистрация: 01.03.2010
Сообщений: 1,243
04.05.2013, 09:52 9
dolte,
Почитайте статейку (где то в конце странички ). Может пригодится.
Это не решение Вашей проблемы. Наоборот, осознание ее масштаба.
Привязка к железу (на название не обращайте внимание)
1
Человек
325 / 199 / 63
Регистрация: 04.02.2013
Сообщений: 1,200
04.05.2013, 14:31  [ТС] 10
Цитата Сообщение от Neal Посмотреть сообщение
P.S. Люди вряд ли будут заинтересованы в твоем продукте.

[/CSHARP]
Я лишьосваиваю возможности, именно реализация ввода лицензионного ключа штука полезная =) а в том будут они заинтересованны или нет...ну по крайней мере не в ближайшие годы

Добавлено через 9 минут
Цитата Сообщение от Neal Посмотреть сообщение
Друзья, не капчу, а лицензионный ключ (или как он там называется), он пытается сделать.
ShareWare программа, ключ которой запрашивается каждый раз при запуске...

P.S. Люди вряд ли будут заинтересованы в твоем продукте.

Что касается решения, то добавь на форму текстбокс и кнопку

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// код кнопки
List<string> codes = new List<string>();
codes.Add("КОД_1");
codes.Add("КОД_2"); // и т.д.
 
// проверка 
bool register = false;
foreach(string s in codes)
{
   if(textBox1.Text == s) // проверка с текстом в текстбоксе
   {
      register = true; // совпал
      break;
   }
}
 
if(!register)
{
   MessageBox.Show("Ключ введен неверно!");
   environment.exit(0); // выход
}
а как заставить окно с этим кодом появляться каждый раз при запуске программы ?
0
83 / 78 / 14
Регистрация: 14.06.2012
Сообщений: 261
04.05.2013, 15:30 11
Создаешь еще одну форму (в инете много информации)

к примеру, Form2.

то в главной функции первой формы пишешь следующее:
C#
1
2
3
4
5
6
public Form1()
{
   InitializeComponent(); // это уже есть
   this.Hide(); // скрыть главную форму
   new Form2().Show(); // открыть вторичную форму
}
а в коде кнопки (во второй форме, естественно) добавляешь, при условии, что код совпал
C#
1
2
3
4
 
Form1.Show();
// или
new Form1.Show();
0
Человек
325 / 199 / 63
Регистрация: 04.02.2013
Сообщений: 1,200
04.05.2013, 16:40  [ТС] 12
Сделал так:

В первой форме:
C#
1
2
3
4
5
6
7
private void Form1_Load(object sender, EventArgs e)
        {
            Form2 form2 = new Form2();
            this.Hide();
            form2.ShowDialog();
            this.Show();
        }
После запуска открывается форма2 в которой нужно ввести код.

как вяглыдит код кнопки на 2й форме

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
List<string> codes = new List<string>();
            codes.Add("КОД_1");
            codes.Add("КОД_2"); // и т.д.
 
            // проверка 
            bool register = false;
            foreach (string s in codes)
            {
                if (textBox1.Text == s) // проверка с текстом в текстбоксе
                {
                    register = true; // совпал
                    break;
                }
            }
 
            if (!register)
            {
                MessageBox.Show("Ключ введен неверно!");
                this.Close();
                this.button1.Click += new System.EventHandler(this.button1_Click);
            }
 
            //Form1.Show();
            Form1 form1 = new Form1();
            this.Hide();
            form1.ShowDialog();
            this.Show();
Вопрос:

После ввода кода, и нажатии кнопки, вновь появляется эта-же форма, как сделать переход на форму 2.

Эту форму можно закрыть на крестик, как запретить это действие ?

Добавлено через 15 минут
И если ключь вводится не верно, опять открывается эта форма. Если её закрыть, появляется форма 1, после закрытия формы 1 появляется форма 2, получаеться что они копируются
0
83 / 78 / 14
Регистрация: 14.06.2012
Сообщений: 261
04.05.2013, 17:00 13
Кнопку закрытия можно отключить справа, в свойствах формы.
1
Человек
325 / 199 / 63
Регистрация: 04.02.2013
Сообщений: 1,200
04.05.2013, 17:07  [ТС] 14
Цитата Сообщение от Neal Посмотреть сообщение
Кнопку закрытия можно отключить справа, в свойствах формы.
а как-же всётаки после ввода верного кода, переходить на форму 1
0
17 / 15 / 4
Регистрация: 28.03.2013
Сообщений: 54
04.05.2013, 18:03 15
Просто не нужно стараться управлять первой формой из второй... Заведомо приводит к ошибкам. Каждый раз как встречается слово new вызывается конструктор который заново инициализирует форму... Короче получается ненужная рекурсия. Гораздо проще передать управление второй форме и потом получить из нее результат и все.
0
902 / 663 / 132
Регистрация: 01.03.2010
Сообщений: 1,243
04.05.2013, 22:46 16
Цитата Сообщение от dolte Посмотреть сообщение
а как-же всётаки после ввода верного кода, переходить на форму 1
1. Создай вторую форму для ввода пароля.

2. Во второй форме для кнопки ввода пароля пропиши
C#
1
2
3
4
5
6
7
8
9
        private void button1_Click(object sender, EventArgs e)
        {
            if (textBox1.Text !=  тут нужный пароль ) MessageBox.Show("не верный пароль");
            else
            {
                this.DialogResult=DialogResult.OK;
                Close();
            }
        }
3. Поменяй в Program.cs (или что там у тебя)
C#
1
2
3
4
5
6
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form1());
        }
на
C#
1
2
3
4
5
6
7
8
9
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Form2 form2= new Form2();
            Application.Run(form2);
            if ( form2.DialogResult== DialogResult.OK)
            Application.Run(new Form1());
        }
Пример скинул с файлом
1
Вложения
Тип файла: 7z Форма для ввода пароля.7z (24.1 Кб, 42 просмотров)
22 / 22 / 2
Регистрация: 08.03.2011
Сообщений: 114
05.05.2013, 01:21 17
dolte, для этого лучше создать дополнительную форму с полем ввода ключа и сообщением о корректности ключа, а выводить уже эту форму при запуске программы.
Цитата Сообщение от dolte Посмотреть сообщение
а как заставить окно с этим кодом появляться каждый раз при запуске программы ?
У формы есть событие "Form_load". В нем описываются действия, которые необходимо произвести при запуске. Поместите в обработчик этого события код.
0
Человек
325 / 199 / 63
Регистрация: 04.02.2013
Сообщений: 1,200
05.05.2013, 01:32  [ТС] 18
Цитата Сообщение от wep6ak Посмотреть сообщение
dolte, для этого лучше создать дополнительную форму с полем ввода ключа и сообщением о корректности ключа, а выводить уже эту форму при запуске программы.

У формы есть событие "Form_load". В нем описываются действия, которые необходимо произвести при запуске. Поместите в обработчик этого события код.
Предыдущие посты то хоть читайте =) уже давно на всё ответили и разъяснили =)
0
wep6ak
05.05.2013, 13:34     Режим приватности
  #19

Не по теме:

я с телефона писал и не увидел вторую страницу, только потом заметил

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.05.2013, 13:34

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Как можно из VB переключить режим 800х600 на режим 1024х768.
Как можно из VB переключить режим 800х600 на режим 1024х768. Благодарю за помощь

после вкл компьютера,сразу переходит в режим восстановления, в безопасный режим не получается перейти. windows 7 64bit
после вкл компьютера,сразу переходит в режим восстановления, в безопасный режим не получается...

неоптимизированый режим: рекомендуемый режим 1280*1024 60Hz" ???? и дальше нет картинки .Что делать
неоптимизированый режим: рекомендуемый режим 1280*1024 60Hz&quot; ???? и дальше нет картинки .Что делать

Монитор Samsung-SyncMaster 2033 при запуске системы пишет неоптимальный режим, рекомендованный режим 1600х900
Здравствуйте. У меня возникла проблема с монитором Samsung-SyncMaster 2033. Скачал себе игрушку...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.