Форум программистов, компьютерный форум CyberForum.ru

Программа - роутер, раздающая wi-fi с ноута - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Троичное слияние списков http://www.cyberforum.ru/cpp/thread1785986.html
Задание: даны три упорядоченных списка к примеру А В С, нужно слить их в едино(список Д). Помогите кто чем сможет(код, отрезок кода, алгоритм), мне надо это реализовать на С++, может конечно я ошибся разделом, тогда извините.
C++ Ошибка в <iostream> Вылазит такая ошибка - Error C2065: input: необъявленный идентификатор. Пробовал пофиксить студию (2013 ultimate) через стандартную прогу удалений программ. Но все равно ничего не вышло. Попытался как то заменить этот iostream, но нигде его не нашел(. Скрины прилагаю: http://www.cyberforum.ru/cpp/thread1785956.html
_getch() "на таймере" C++
Пишу программу по типу гонок из тетриса и столкнулся со следующей проблемой. Для передвижения "машинки" я использую _getch(), при этом программа полностью останавливает любые действия при выполнении, то есть трасса "не идёт". Как можно сделать например следующее Программа ожидает в течении 500мкс нажатие любой клавиши, если этого не произошло она продолжает выполнять действия. Или хотя бы как...
C++ Поменять элементы местами в массиве
swap (myArray,myArray); swap (myArray,myArray); swap (myArray,myArray); Это пытался привести через цикл. Подскажите где запутался? for (int i=0 ; i<7; i+=2) {
C++ Какие средства для работы с длинной арифметикой имеются в C++? http://www.cyberforum.ru/cpp/thread1785882.html
Как работать с длинной арифметикой в C++? Может есть какие-нибудь функции предназначенные именно для этого?
C++ Объединение 2 программ в 1 Доброе время суток!!!!!:) как объединить 2 консольные программы так чтобы запускаешь 1 а там была выборка например EN или RU Желательно 2 кнопки а не консоль подробнее

Показать сообщение отдельно
Cortas
0 / 0 / 0
Регистрация: 14.03.2016
Сообщений: 9
Завершенные тесты: 2
26.07.2016, 22:36     Программа - роутер, раздающая wi-fi с ноута
ПРЕДИСЛОВИЕ

Здравствуйте! Есть задача написать простенькую программа которая раздает wi-fi с ноута с помощью команды nesth или чего-нибудь другого, если оно вообще есть. Я уже писал такую программку, но только на pascal.
Для тех кому интересно

Довольно примитивная, со скудным функционалом, однако функцию свою выполняет.
Pascal
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
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
uses crt,sysutils,dos,mouse;
const nf='WiFiCFG.bat';
 
var x1,y1,x2,y2,i:integer;
    sim:string[13];
    bt:text;
    buf,NNS,data,start,stop,s:string;
    f:longint;
    e:TMouseEvent;
    wlan,show:boolean;
 
procedure start_wlan;
  begin
  for i:=18 to 28 do begin GotoXY(1,i); clreol; end; GotoXY(1,18);
  getdir(0,s); delete(s,4,length(s));
  chdir(s); f:=filecreate(nf); fileclose(f);
  assign(bt,nf);
  rewrite(bt);
  writeln(bt,start);
  close(bt);
  exec(s+'\'+nf,'');
  DeleteFile(nf);
  end;
 
procedure stop_wlan;
  begin
  for i:=18 to 28 do begin GotoXY(1,i); clreol; end; GotoXY(1,18);
  getdir(0,s); delete(s,4,length(s));
  chdir(s); f:=filecreate(nf); fileclose(f);
  assign(bt,nf);
  rewrite(bt);
  writeln(bt,stop);
  close(bt);
  exec(s+'\'+nf,'');
  DeleteFile(nf);
  end;
procedure rec(x1,y1,x2,y2:integer; style:char);
  var j:integer;
  begin
  if style='b' then j:=7
  else j:=1;
  GotoXY(x1,y1); write(sim[j+2]);
  GotoXY(x2,y1); write(sim[j+3]);
  GotoXY(x1,y2); write(sim[j+4]);
  GotoXY(x2,y2); write(sim[j+5]);
  for i:=x1+1 to x2-1 do begin GotoXY(i,y1); write(sim[j+1]); GotoXY(i,y2); write(sim[j+1]); end;
  for i:=y1+1 to y2-1 do begin GotoXY(x1,i); write(sim[j]); GotoXY(x2,i); write(sim[j]); end;
  end;
 
function InBoxClick(x1,y1,x2,y2:integer; click:char):boolean;
  var button:word;
  begin
  Case click of
  'l': button:=MouseLeftButton;
  'r': button:=MouseRightButton;
  'm': button:=MouseMiddleButton;
  end;
  if(e.buttons=button) and (e.action=MouseActionDown) and (e.x+1>=x1) and (e.x+1<=x2) and (e.y+1>=y1) and (e.y+1<=y2) then
    InBoxClick:=true
  else
    InBoxClick:=false;
  end;
 
function PointClick(x,y:integer; click:char):boolean;
  var button:word;
  begin
  Case click of
  'l': button:=MouseLeftButton;
  'r': button:=MouseRightButton;
  'm': button:=MouseMiddleButton;
  end;
  if(e.buttons=button) and (e.action=MouseActionDown) and (e.x+1=x) and (e.y+1=y) then
    PointClick:=true
  else
    PointClick:=false;
  end;
 
procedure AcceptChanges;
  begin
  for i:=18 to 28 do begin GotoXY(1,i); clreol; end; GotoXY(1,18);
  getdir(0,s); delete(s,4,length(s));
  chdir(s); f:=filecreate(nf); fileclose(f);
  assign(bt,nf);
  rewrite(bt);
  writeln(bt,data);
  close(bt);
  exec(s+'\'+nf,'');
  DeleteFile(nf);
  end;
 
procedure ChangeName;
  var outs:boolean;
  begin
  donemouse;
  GotoXY(2,2); textcolor(12); write('  Enter new name  ');
  outs:=false;
  textcolor(8);
  GotoXY(3,5); write('                ');
  repeat
    GotoXY(3,5); readln(NNS);
    for i:=1 to length(NNS) do
      if NNS[i]=' ' then begin
        GotoXY(3,5); write('WRONG NAME!'); delay(1000);
        GotoXY(3,5); write('                ');
        outs:=false; break;
      end else
        outs:=true;
  until outs;
  i:=0;
  repeat i:=i+1; until (data[i]=' ') and (data[i+1]='k');
  buf:=copy(data,i,length(data)); insert(buf,NNS,length(NNS)+1); i:=0;
  repeat i:=i+1; until (data[i]='d') and (data[i+1]='='); i:=i+2;
  delete(data,i,length(data)); insert(NNS,data,i);
  AcceptChanges;
  GotoXY(2,2); textcolor(12); write('   Name changed   '); textcolor(2);
  delay(1000); GotoXY(2,2); write('                  ');
  initmouse;
  end;
 
procedure SHPassword;
  var j:integer;
  begin
    textcolor(8); GotoXY(3,9);
    j:=0;
    repeat j:=j+1; until (data[j]='y') and (data[j+1]='='); j:=j+2;
    if show then begin
      write(data[j..length(data)]);
      GotoXY(19,9);
      write('ш');
      show:=false;
    end else begin
      for j:=j to length(data) do write(sim[13]);
      GotoXY(19,9);
      write('~');
      show:=true;
    end;
    textcolor(2);
  end;
 
procedure ChangePassword;
  var i:integer;
      outs:boolean;
  begin
  i:=0;
  outs:=false;
  donemouse;
  GotoXY(2,2); textcolor(12); write('Enter new password');
  if show then begin
    GotoXY(3,9); SHPassword; end;
  GotoXY(3,9); write('                ');
  textcolor(8);
  repeat
  GotoXY(3,9); readln(NNS);
  if length(NNS)<8 then begin
    GotoXY(3,9); write('7> SIMVOLS!     '); delay(1000);
    GotoXY(3,9); write('                ');
    end;
    for i:=1 to length(NNS) do
      if NNS[i]=' ' then begin
        GotoXY(3,9); write('WRONG PASSWORD!'); delay(1000);
        GotoXY(3,9); write('                ');
        outs:=false; break;
      end else
        outs:=true;
  until (length(NNS)>8) and outs;
  repeat i:=i+1; until (data[i]='y') and (data[i+1]='='); i:=i+2;
  delete(data,i,length(data)); insert(NNS,data,i);
  AcceptChanges;
  GotoXY(2,2); textcolor(12); write('Password chenged  '); textcolor(2);
  delay(1000); GotoXY(2,2); write('                  ');
  initmouse;
  end;
 
procedure SwitchWlan;
  begin
  GotoXY(8,13);
  if wlan then begin
    textcolor(8); write('Start'); textcolor(2);
    GotoXY(3,1); write('OFF'); stop_wlan; wlan:=false; end
  else begin
    textcolor(8); write('Stop '); textcolor(2);
    GotoXY(3,1); write('ON',sim[8]); start_wlan; wlan:=true; end;
  end;
 
begin
clrscr;
cursoroff;
initmouse; showmouse;
textcolor(2);
data:='start netsh wlan set hostednetwork mode=allow ssid=Asus_EeePC key=barguzin2017';
start:='netsh wlan start hostednetwork'; stop:='netsh wlan stop hostednetwork';
sim:='іДЪїАЩєНЙ»Ијщ';
show:=false;
x1:=1; x2:=20;
y1:=1; y2:=16;
rec(x1,y1,x2,y2,'b'); GotoXY(17,1); write('[ю]'); x1:=x1+1; x2:=x2-1;
rec(x1,4,x2,6,'n'); textcolor(8); GotoXY(3,5); write(data[52..62]); textcolor(2);
GotoXY((x2 div 2)-length('name')+1,4); write('Name');
rec(x1,8,x2,10,'n'); SHPassword; GotoXY(5,8); write('Password');
rec(x1,12,x2,14,'n'); textcolor(8); GotoXY(8,13); write('Start'); textcolor(2);
repeat
donemouse; initmouse; showmouse;
GetMouseEvent(e);
if InBoxClick(x1,4,x2,6,'l') then
  ChangeName
else if PointClick(19,9,'l') then
  SHPassword
else if InBoxClick(x1,8,x2,10,'l') then
  ChangePassword
else if InBoxClick(x1,12,x2,14,'l') then
  SwitchWlan
else if PointClick(18,y1,'l') then begin
    GotoXY(18,1); write('');
    repeat GetMouseEvent(e);  until e.action=MouseActionUp;
    GotoXY(18,1); write('ю');
    if (e.x=17) and (e.y=0) then break;
  end;
until PointClick(18,y1,'l');  end.

Пробовал написать такую же только с большим функционалом уже на с++. Но столкнулся с некоторыми проблемами при написании в консоли. Например при запуске сети программа запускает сеть и все, потом она просто зависает. Решил, что в консоли делать её бессмысленно, поэтому решил иcпользовать WinApi.

ВОПРОС
1. Как можно реализовать запуск/остановку сети? (в cmd nesth wlan start/stop hostednetwork)
2. Как вывести/записать в переменную количество подключенных пользователей? (в cmd netsh wlan show hostednetwork)
3. Как менять ssid и key?
4. Возможно ли это вообще реализовать на С++?

ПОСЛЕСЛОВИЕ
У меня есть некоторые идею насчет этого. Например запускать консоль, которая будет менять параметры сети или запускать её, в маленько окошке за приделом экрана при нажатии кнопки. Но вот как можно записать количество пользователей...


P.S. Я не в коем случае не прошу писать за меня данную программу, а лишь помочь разобраться в данных вопросах.
P.P.S. Заранее всем спасибо!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 05:52. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru