![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как из программы отключить сеть? [D6, Win2k]
aleman © (2004-02-10 15:26:00)Нужно из программы отключить сеть, а потом включить.
С помощью каких функций можно это сделать?
Verg (2004-02-11 13:36:00) [1]http://msdn.microsoft.com/library/default.asp?url=/library/en-us/iphlp/iphlp/setifentry.asp
aleman (2004-02-11 13:27:00) [2]Я её в Help-е не нашёл.
У меня Delphi 6. Может подскажешь либо параметры, либо в каком Help-е она находится.
Verg (2004-02-11 13:13:00) [3]
> aleman (11.02.04 12:53) [14]
> Чего-то при вызове SetIfEntry из IPHlpApi.dll ничего не
> происходит.
Значит неправильно вызываешь.
У нее же еще параметры есть. Пробовал заполнять?
aleman (2004-02-11 12:53:00) [4]Чего-то при вызове SetIfEntry из IPHlpApi.dll ничего не происходит.
Verg (2004-02-11 11:37:00) [5]
> aleman (11.02.04 10:04) [9]
> А чё сразу хакер-то?
> На локальном компьютере можно вызвать контексное меню на
> иконке "Моё сетевое окружение" и в контексном меню на "Подключение
> по локальной сети" выбрать пункт "Отключить" (или "Подключить").
> Неужели того же результата нельзя добиться с помощью какой-нибудь
> API функции?
SetIfEntry из IPHlpApi.dll
Vit@ly (2004-02-11 10:36:00) [6]Просто зашарь (закрой) все ресурсы с общим доступом.
aleman (2004-02-11 10:25:00) [7]Ну так DISABLE для данного компьютера, остальные копьютеры в сети будут работать как обычно.
Vit@ly (2004-02-11 10:12:00) [8]Прикидываешься, причем здесь
<Выключить сеть означает сделать её DISABLE.>
aleman (2004-02-11 10:04:00) [9]А чё сразу хакер-то?
На локальном компьютере можно вызвать контексное меню на иконке "Моё сетевое окружение" и в контексном меню на "Подключение по локальной сети" выбрать пункт "Отключить" (или "Подключить").
Неужели того же результата нельзя добиться с помощью какой-нибудь API функции?
Anatoly Podgoretsky (2004-02-11 09:35:00) [10]Ведь судя по всему ты не администратор сети, а хакер самоучка.
Anatoly Podgoretsky (2004-02-11 09:34:00) [11]Не обязательно, но если человек смелый, то сообщи им, что это ты именно сделал, чтобы знали кого бить.
aleman (2004-02-11 09:27:00) [12]Их мнения я не собирался спрашивать. А что надо?
Игорь Шевченко (2004-02-10 18:24:00) [13]
> Я хочу отключить локальную сеть, сделать её DISABLE
А остальные пользователи локальной сети тоже этого хотят ?
aleman (2004-02-10 16:52:00) [14]По поводу:
par := PChar('Имя соед.' + ' /DISCONNECT');
Я хочу отключить локальную сеть, сделать её DISABLE, какое имя соединения я должен указать?
DDA (2004-02-10 16:07:00) [15]Бином Ньютоныч (21.12.03 09:34) [1]
procedure CloseRasConnections;
var
Connections: array[0..15] of TRasConn;
Size, Count, Res, Res2, n: integer;
Status: TRasConnStatus;
begin
Connections[0].dwSize:=SizeOf(TRasConn);
Size:=SizeOf(Connections);
Res:=RasEnumConnections(@Connections, Size, Count);
if (Res = 0) or (Res = ERROR_BUFFER_TOO_SMALL) then
begin
for n:=0 to Pred(Count) do
begin
Res2:=RasHangUp(Connections[n].hrasconn);
Status.dwSize:=SizeOf(Status);
if Res2 = 0 then
while
RasGetConnectStatus(Connections[n].hrasconn, Status) <> ERROR_INVALID_HANDLE
do
Sleep(0)
else begin
SetLastError(Res2);
RaiseLastOSError;
end;
end;
if Res = ERROR_BUFFER_TOO_SMALL then CloseRasConnections;
end else
begin
SetLastError(Res);
RaiseLastOSError;
end;
end;
-------------
kor@l © (24.01.04 19:54) [2]
Гляди сюда:
cmd := 'open';
fil := 'rasdial.exe';
par := PChar('Имя соед.' + ' /DISCONNECT');
dir := 'C:';
ShellExecute(Self.Handle, cmd, fil, par, dir, SW_SHOWMINNOACTIVE);
aleman (2004-02-10 16:06:00) [16]Выключить сеть означает сделать её DISABLE.
Vit@ly (2004-02-10 16:03:00) [17]Что означает отключить сеть? Вырубить свой компьютер или что-то более глобальное?