Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 11.03.2021
Сообщений: 9

Как добавить в форму окно с консольным приложением?

03.11.2022, 12:23. Показов 426. Ответов 0
Метки нет (Все метки)

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



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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
using SimpleWifi;
using SimpleWifi.Win32;
using SimpleWifi.Win32.Interop;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Diagnostics;
using System.IO;
 
namespace WiFiScanBrute
{
 
    
    public partial class UI : Form
    {
        Wifi _wifiConnectClient = new Wifi();           // используется при подключения к сети
        WlanClient _wifiScanClient = new WlanClient();  // используется при сканировании сетей
 
        List<WlanAvailableNetwork> _wifiNetworks = new List<WlanAvailableNetwork>();
 
        public UI()
        {
            InitializeComponent();
        }
 
        private void UI_Load(object sender, EventArgs e)
        {
            _ui_update_connect_state();
        }
 
        private void button_scan_Click(object sender, EventArgs e)
        {
            if (_wifiConnectClient.ConnectionStatus == WifiStatus.Connected)
            {
                MessageBox.Show("Сканирование доступно только при отключении от сетей WiFi");
                return;
            }
 
            // сканирование сети и получение списка доступных WiFi сетей
            _wifiNetworks = _wifiScanClient.Interfaces[0].GetAvailableNetworkList(0).ToList();
 
            // формирование модели представления списка доступных сетей
            var netListVM = _wifiNetworks.Select(x => 
                                                    new { 
                                                        SSID = _getStringForSSID(x.dot11Ssid), 
                                                        AuthAlgo = x.dot11DefaultAuthAlgorithm,
                                                        SignalQuality = x.wlanSignalQuality.ToString() + "%"
                                                    })
                                            .OrderBy(x=>x.SSID)
                                            .ToList();
 
            // загрузка данных модели представления в UI
            dataGridView_networks.Rows.Clear();
            netListVM.ForEach(x =>
                                {
                                    dataGridView_networks.Rows.Add(new object[] { x.SSID, x.AuthAlgo, x.SignalQuality });
                                });
 
            dataGridView_networks.Invalidate();
        }
 
        static string _getStringForSSID(Dot11Ssid ssid)
        {
            return Encoding.ASCII.GetString(ssid.SSID, 0, (int)ssid.SSIDLength);
        }
 
        private void button_disconnect_Click(object sender, EventArgs e)
        {
            _wifiConnectClient.Disconnect();
 
            _ui_update_connect_state(false);
        }
 
        private void button_connect_Click(object sender, EventArgs e)
        {
            string selectedNetwork = null;
            
            // проверка, выбрана ли сеть для подключения
            if (dataGridView_networks.SelectedRows.Count > 0)
                selectedNetwork = (string)dataGridView_networks.SelectedRows[0].Cells["SSID"].Value;
 
            if (string.IsNullOrEmpty(selectedNetwork.Trim()))
            {
                MessageBox.Show($"Не выбрана сеть для подключения");
                return;
            }
 
 
            List<AccessPoint> aps = _wifiConnectClient.GetAccessPoints();
            AccessPoint ap = aps.Where(x => x.Name == selectedNetwork).FirstOrDefault();
 
            AuthRequest ar = new AuthRequest(ap);
            ar.Password = textBox_password.Text;
 
            bool res = ap.Connect(ar, true);
 
            _ui_update_connect_state(res);
 
            if (!res)            
            {                
                MessageBox.Show($"Подключение к сети {selectedNetwork} - не установлено!");
            }
            
        }
 
        
 
        private void _ui_update_connect_state(bool? connected = null)
        {
            if ( connected == null && _wifiScanClient.Interfaces[0].InterfaceState == WlanInterfaceState.Connected)
            {
                label_status.Text = "Status: подключен к " + _getCurrentNetworkName();
            }
            else if (connected != null && connected.Value)
            {
                label_status.Text = "Status: подключен к " + _getCurrentNetworkName();
            }
            else
                label_status.Text = "Status: отключен";
        }
 
        private string _getCurrentNetworkName()
        {
            string res = string.Empty;
 
            try
            {
                res = _wifiScanClient.Interfaces[0].CurrentConnection.profileName;
            }
            catch { }
 
            return res;
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            System.Diagnostics.Process p = new System.Diagnostics.Process();
            p.StartInfo.FileName = @"C:\Users\user\Desktop\Новая папка\speedtest.exe";
            p.Start();
        }
    }
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.11.2022, 12:23
Ответы с готовыми решениями:

Как работать с запущенным консольным приложением?
я с помощью команды &quot;nc cacoiti.server.ru 1111&quot; подлючаюсь к серверу и он на каждый мой запрос отвечает Как в с++ можно организовать...

Как организовать обмен данными между WPF и консольным приложением?
В решении 2 проекта, WPF App и Console App, работают они одновременно при выполнении в консоли команд, должны обновляться данные в...

Работа с консольным приложением
Пожалуйста, подскажите кто может. Программа сделана для консольного приложения, Builder C++ 6, считывает данные с платы PCI и выводит на...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
03.11.2022, 12:23
Помогаю со студенческими работами здесь

Проблема с консольным приложением
Здравствуйте. Вчера писал уже на эту тему - так и не дождался ответа. Чтобы была максимальная конкретика: Вот код на C#: using...

Проблема с консольным приложением в Qt
По поводу Qt, поставил вчера на ноут, пытался написать приложение, иногда при запуске приложение не выполняется, пишет синим цветом: ...

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

Подскажите с консольным приложением
Подскажите плиз, каким образом написать консольное приложение календаря. А именно при вводе например даты 19,05,2013 года, выводился...

Работа с консольным приложением Delphi
ПОМОГИТЕ ПОЖАЛУЙСТА! ВООБЩЕ НЕ ПОНЯЛ ЧТО С КОНСОЛЬНЫМ ПРИЛОЖЕНИЕМ ДЕЛАТЬ!!!! :C Задание : Дана матрица А размерности n×n. Найти и...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru