Вот на шарпе в студии накидал минут за 10)) Соббсно, вот исходник с моими комментами: Код: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace KeySteamRandGen { public partial class Form1 : Form { public Form1() { InitializeComponent(); IniComboboxKey(); } /* Тут для удобства добавления новых видов ключей использую массив... Если есть охота добавить, к примеру, ключ такого вида: "AAAAAAAA", то просто тупо его и добавляем в код, там где описывается коллекция массива (В дальнейшем, при компиляции эта коллекция становится коллекцией итемов комбобокса:fool:)... */ private void IniComboboxKey() { string[] arrTypeKey = new string[] { "AAAA-BBBB-CCCC", "AAAA-BBBB-CCCC-DDDD-EEEE" }; for (int i = 0; i < arrTypeKey.Length; i++) { comboBoxTypeKey.Items.Add(arrTypeKey[i]); } comboBoxTypeKey.SelectedIndex = 0; } // Эта переменная нужна для того, чтобы узнать сколько тире в выбранном виде ключа private int WhatKeyType; // Эта - узнать сколько букв до или/и после/перед тире.... private int HowKeyTypes; // Анализ типа выбранного ключа... Сколько там тире, букв пред/после тире... private void AnalizKeyType() { WhatKeyType = 0; HowKeyTypes = 0; string textKeyType; textKeyType = comboBoxTypeKey.Text; char wtf; for (int i = 0; i < textKeyType.Length; i++) { wtf = textKeyType[i]; if (wtf == '-') { WhatKeyType++; HowKeyTypes = -1; } HowKeyTypes++; } } //Сам метод случайного подбора ключей, в зависимости от выбранного типа ключа в комбобоксе private void GenMetod() { Random random = new Random(); string steamkey = string.Empty; for (int i = 0; i <= WhatKeyType; i++) { for (int j = 0; j < HowKeyTypes; j++) { int watrand; watrand = random.Next(0, 100); if (watrand%2 == 0) { int getnum = random.Next(1, 9); steamkey += getnum.ToString(); } else { int getnum = random.Next(97, 122); char ch = Char.ToUpper(Convert.ToChar(getnum)); steamkey += ch.ToString(); } } if (WhatKeyType != 0) { if (i >= 0 && i <= (WhatKeyType - 1)) { steamkey += "-"; } } } textBoxGetKey.Text = steamkey; } //Действие на клик по баттону))) private void simpleButtonGen_Click(object sender, EventArgs e) { AnalizKeyType(); GenMetod(); } } } Вот так это чудо работает: Выбираем в комбобоксе нужный тип ключа Ну и сообсно, тыкаем кнопку сгенить или с другим видом ключа ЗЫ Вообще, шанс того, что выпадет какой-то реальный стимовский ключ практически равен 0)))) Но если Вы можете три раза подряд угадывать число, которое возвращает данная функция random.Next(1, 999999999), то данная прога для вас
Такой программы нету и не будет...разве...только за белый бентли континенталь + 18 комнатную квартиру сделал бы...
Если Вы про мое творение.... То Нигде))) В вижуал студию(си шарп))) В проект, с аналогичными названиями контрлов) ЗЫ, в проекте используется расширение DXperience.. поэтому simpleButton рекомендую заменить на простой баттон!
Кстати, прежде чем что-то писать, прочитайте невнятное задание ТС!!!! Не прогу, которая выдает действительные ключи для стим, а прогу которая делает аналогичные формату ключи для стима....
Чувак ты мои мысли прочитал , месяц назад ночью мне приснилось что я придумал прогу чтобы ключи генерировались и рандомно пытались активироваться в стиме или оригине пока наконец не попадется неиспользованный ключ)