Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 24.03.2023
Сообщений: 7

Нужно открыть и выбрать программу по умолчанию и сохранить её в другую кнопку

24.03.2023, 20:05. Показов 920. Ответов 16

Студворк — интернет-сервис помощи студентам
Здравствуйте. Я в программировании полный ноль, хочу сделать небольшую программу по автоматическому входу в steam с разными аккаунтами. Сам вход реализовать смог, но по факту ограничил себя определенным путем к файлу.

Помогите реализовать отдельную кнопку с выбором пути к exe файлу и сохранением этого пути (было бы ещё славно, если бы подсказали, как указать его в коде)
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.03.2023, 20:05
Ответы с готовыми решениями:

Что нужно исправить или добавить в коде когда пользователь нажимает на кнопку "открыть" и он может выбрать файл с компью
что нужно исправить или добавить в коде когда пользователь нажимает на кнопку "открыть" и он может выбрать файл с компьютера (...

Открыть другую форму по нажатию на кнопку
Поля для ввода фамилии, имени, адреса, телефона. 3 элемента CheckBox, которые позволяют определять должны ли быть доступными в главном окне...

При нажатии на кнопку открыть другую форму
как сделать что бы при нажатии на кнопку открывалась form2? что надо дописать сюда: // button1 // ...

16
0 / 0 / 0
Регистрация: 24.03.2023
Сообщений: 7
24.03.2023, 20:51  [ТС]
Сам код и вид программы

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
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
 
namespace SAL
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        private void OpenList_Click(object sender, EventArgs e)
        {
            Process.Start("F:\\Steam\\steam.exe", "-login "+listBox1.SelectedItem.ToString());
        }
    }
}
Миниатюры
Нужно открыть и выбрать программу по умолчанию и сохранить её в другую кнопку  
0
Эксперт .NET
 Аватар для Wolfdp
3790 / 1767 / 371
Регистрация: 15.06.2012
Сообщений: 6,543
Записей в блоге: 3
24.03.2023, 21:32
Почему просто не создать нужно количесво ярлыков в специальной папке? Причем им можно задать кастомную иконку, чтобы визуально отличать.
0
0 / 0 / 0
Регистрация: 24.03.2023
Сообщений: 7
24.03.2023, 23:04  [ТС]
Думал об этом, но ярлыки присасываются к пути, мне нужно, чтобы это работало на разных компьютерах и я имел доступ к любому аккаунту без постоянного ввода логина и пароля.
Так что решил разок заморочиться и больше не возиться с этим
0
Эксперт JavaЭксперт по электроникеЭксперт .NET
 Аватар для wizard41
3411 / 2732 / 575
Регистрация: 04.09.2018
Сообщений: 8,571
Записей в блоге: 3
24.03.2023, 23:28
Цитата Сообщение от DigenRuff Посмотреть сообщение
но ярлыки присасываются к пути
Цитата Сообщение от DigenRuff Посмотреть сообщение
чтобы это работало на разных компьютерах и я имел доступ к любому аккаунту
На разных компьютерах Steam.exe так же может находиться в разных местах. Как эта программа решает этот вопрос?
0
0 / 0 / 0
Регистрация: 24.03.2023
Сообщений: 7
24.03.2023, 23:35  [ТС]
Для этого я и создал вопрос. Мне бы сделать отдельную кнопку, где я просто указывал путь к нужному exe и запускал нужный аккаунт(как именно реализовать выбор файла с сохранением пути и реализацией в кнопке...я не знаю)

Ну или же мне придется создавать кучу ярлыков под разные компы с разными путями...
0
Эксперт JavaЭксперт по электроникеЭксперт .NET
 Аватар для wizard41
3411 / 2732 / 575
Регистрация: 04.09.2018
Сообщений: 8,571
Записей в блоге: 3
24.03.2023, 23:51
Цитата Сообщение от DigenRuff Посмотреть сообщение
как именно реализовать выбор файла
Ну это элементарно.
Дело в другом: кроме самого приложения вместе с ним надо будет таскать некую "базу", где эти логины и пароли находятся.
В данной задаче, с учетом ручного поиска и выбора steam.exe - это не сильно отличается от таскания с собой обычных ярлыков. Т.е. выигрыш от такой "автоматизации" минимален.
0
0 / 0 / 0
Регистрация: 24.03.2023
Сообщений: 7
25.03.2023, 00:00  [ТС]
Я с вами не согласен только по одной причине. Учитывая что сама база логинов и паролей будет находиться в исходной папке с данной "программой", мне не придется постоянно производить входы, а достаточно выбрать нужный в списке.

По поводу именно ручного поиска...я расчитываю на то, что его нужно будет выбрать 1 раз при запуске и этого будет достаточно, ибо в таком случае программа будет закрываться раз в 10-12 часов(что не создаст столь больших проблем)
0
Эксперт JavaЭксперт по электроникеЭксперт .NET
 Аватар для wizard41
3411 / 2732 / 575
Регистрация: 04.09.2018
Сообщений: 8,571
Записей в блоге: 3
25.03.2023, 00:25
DigenRuff, не то чтобы я отговариваю, я лишь призываю обдумать данное действо на рентабельность. Если компов 2-3, то это ни о чем. Если 20-30, то, может быть имеет смысл.
Запустить ярлык с нужным именем компа куда быстрее, чем искать в программе нужный пункт и все такое...
0
Эксперт .NET
 Аватар для Wolfdp
3790 / 1767 / 371
Регистрация: 15.06.2012
Сообщений: 6,543
Записей в блоге: 3
25.03.2023, 08:14
Просто плюхнуть на форму тексбокс где будете указывать путь к стиму? И пароли по хорошему нужно хоть как-то шифровать. Ради примера, можна как-то так, хотя смысла в такой "оптимизации" вроде не шибко много.
Вложения
Тип файла: zip SteamListLogin.zip (226.5 Кб, 26 просмотров)
0
0 / 0 / 0
Регистрация: 24.03.2023
Сообщений: 7
25.03.2023, 15:43  [ТС]
С "путем" я разобрался, по факту просто заранее сохранил путь списком в listbox, все работает, но выбивает ошибку(если попытался выбрать не тот путь, пока думаю как вывести это в отдельное окно с возвратом).

По поводу шифрования пароля - дело хорошее, думаю об этом, но программа не будет использоваться в каких то общественных местах, чисто на флешке висеть для домашнего логина. Ваш файл я не смог запустить, пишет что нет какого то файла(если не трудно просто добавьте сюда код, я постараюсь разобраться в нем))
0
2282 / 1598 / 400
Регистрация: 26.06.2017
Сообщений: 4,732
Записей в блоге: 1
25.03.2023, 16:29
Цитата Сообщение от DigenRuff Посмотреть сообщение
пишет что нет какого то файла
С представленным кодом лучше разбираться в режиме отладки, поэтому устанавливайте чего не хватает.
Неко с ушами, сделано красиво, однако путь к Steam.exe надо бы запоминать.
0
Эксперт JavaЭксперт по электроникеЭксперт .NET
 Аватар для wizard41
3411 / 2732 / 575
Регистрация: 04.09.2018
Сообщений: 8,571
Записей в блоге: 3
25.03.2023, 16:32
Цитата Сообщение от Uswer Посмотреть сообщение
Неко с ушами, сделано красиво
Либо у автора этого кода два аккаунта, и он выложил свой код под видом Неко с ушами, либо Неко с ушами выдает чужое за свое. Я хорошо знаю кому принадлежит неймспейс в данном проекте и кто его, собственно, написал.
0
Эксперт .NET
 Аватар для Wolfdp
3790 / 1767 / 371
Регистрация: 15.06.2012
Сообщений: 6,543
Записей в блоге: 3
25.03.2023, 16:50
Лучший ответ Сообщение было отмечено DigenRuff как решение

Решение

Цитата Сообщение от DigenRuff Посмотреть сообщение
Ваш файл я не смог запустить
Там солюшен, а не файл. Правда WPF, но погоды не меняет. Работаете в какой версии VisualStudio? Все что старше 2013 должно открыть без проблем. Просто разархивируйте куда-нибудь и дважды тыкните Nya.SteamListLogin.sln, в нем вам откроется единственный проект с несколькими файлами внутри (можно конечно все упаковать в один, но тыжпрограммисты так не любят делать). Запускается/дэбажется все как и в обычных проектах по F5. В плане "а вдруг там вирусы" тут либо к знакомым тыжпрограммистам, либо доверится что там все чисто. Учитывая что кто-то из форумчан разбирать даже эти несчастные 100 строк кода наврядли будет, я тут ничего посоветовать не могу.

DataFileManager.cs -- сохранение/считывание из файла login-data (если нет -- создает с нуля). Там же и шифрование через AesCng с помощью пароля. Юзается бинарная сериализация, хотя подозреваю это вам ничего не скажет.

Runner.cs -- отвечает за запуск Steam, подтягивает из config-steam.txt путь, или преполагает что он дефолтный.

Все что в Models -- внезапно модели, чтобы проще было работать, а не со тупо со string.

LoginUserControl -- контроллер для ввода логина при открытие файла. Считайте это отдельной вызваемой формой, но вообще это условно самописный сложный элемент аналогичный тому, что вы добавляете из списка контролов где есть Button, Label и прочее.

MainUserControl -- вся ерунда со списком, чтобы можно было и прям из формы добавить ещё один логин/пароль, а не лезть в файл. Есть привязка данных (потому что это в 100500 раз быстрее, чем лепить аналогичное на WinForms), но подозреваю что xaml введет в непреодолимый ступор.

MainWindow -- главное окно приложения, которое объединяет преведущие два контрола для работы, по сути отвечает за ввод логина при отрытие файла с списком и сохранению по выходу, если были изменения.

По идеи если на одном ПК набрали нужный список и сохранили, то на другом просто нужно поменять путь в config-steam.txt. Файл со списком login-data можно перекидывать между ними без всяких правок, главное пароль не забыть какой вводил. Если login-data будет битый, скорее всего придется его снести, ибо через программу уже не пустит его перезаписать (лень было думать как это обойти, да и строго говоря не особо нужно).

P.S. сразу скажу что код не для "Я в программировании полный ноль, хочу сделать небольшую программу". Увы, но по хорошему быстро и качественно писать программы требует хотя бы минимальных знаний, а когда выучиваешь ту же привязку данных и DataTemplate, то все эти WinForms начинают вызывать боль. Можно конечно выдать пример "для самых маленьких", но это потребует ооооочень много усилий, причем сопоставимых с "рубать дерегов топором" когда рядом лежит бензопила.

Добавлено через 2 минуты
Цитата Сообщение от wizard41 Посмотреть сообщение
Либо у автора этого кода два аккаунта
Второе. Можно было и не палить контору, а то тогда меня стоит притянуть на немалый срок за копипасту кусков кода из интернета.
0
Эксперт JavaЭксперт по электроникеЭксперт .NET
 Аватар для wizard41
3411 / 2732 / 575
Регистрация: 04.09.2018
Сообщений: 8,571
Записей в блоге: 3
25.03.2023, 17:04
Цитата Сообщение от Неко с ушами Посмотреть сообщение
Можно было и не палить контору
Уппс... Так предупреждать надо! Я теперь свидетель, получается...
0
2282 / 1598 / 400
Регистрация: 26.06.2017
Сообщений: 4,732
Записей в блоге: 1
25.03.2023, 18:41
Цитата Сообщение от Неко с ушами Посмотреть сообщение
Второе. Можно было и не палить контору
Вах! Получается перехвалил. Вай-вай-вай.
0
0 / 0 / 0
Регистрация: 24.03.2023
Сообщений: 7
25.03.2023, 21:29  [ТС]
По факту в конечном результате вы сделали всю программу за меня... Низкий поклон вам
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.03.2023, 21:29
Помогаю со студенческими работами здесь

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

По нажатию на кнопку открыть другую форму и передать данные в конструктор класса
Доброго времени суток. У Меня уже просто горит от этого бейсика. Суть вопрос такова, нужно создать форму и открыть ее, передав в...

Открыть изображение из 1С используя программу по умолчанию
как Открыть изображение из 1С используя программу по умолчанию? запуститьприложение в этом случае не работает. Добавлено через 1...

Нужно открыть и сохранить графический файл в формате jpeg командой writeimagefile
Добрый день! Уважаемые участники форума, возникла следующая проблема. В среде Borland Graphic Interface мне нужно открыть и сохранить...

Нужно открыть Excel_1 передать числовой массив в ExcelArr и сохранить в Excel_2
Нужно открыть Excel_1 передать числовой массив в ExcelArr и сохранить в Excel_2. unit Unit1; interface uses ...


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

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru