![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
как отменить общий доступ к дискам (программно) [D7, WinXP]
just © (2005-07-06 09:50:00)см. сабж.
Комп - в сети.
Дело в том, что при включении компа у всех локальных дисков открыт общий доступ (хоть меняй параметры дисков, хоть не меняй).
Может кто знает, как можно настроить Windows XP (с виндой 2k - тоже самое) таким образом, чтоб этого не было.
А может прогу написать такую? Если знаете, то подскажите как.
just (2005-07-06 12:20:00) [1]2BiN © (06.07.05 11:23) [2]
Спасибо!
BiN (2005-07-06 11:23:00) [2]Административные шары отключаются из реестра:
HKLM\System\CurrentControlSet\Services\LanmanServer\Parameters\
--AutoShareWks=0
--AutoShareServer=0
TQuery (2005-07-06 10:08:00) [3]Можно попробовать так (по-моему было у Rouse_):
procedure TForm1.btnDelSharesClick(Sender: TObject);
var
OS:Boolean;
FLibHandle : THandle;
Name9x:array [0..12] of Char;
NameNT:PWChar;
i:Integer;
ShareName: String;
begin
if not IsNT(OS) then Close; //Определяем тип системы
ShareName := 'KTSTest';
if OS then begin //Код для NT
FLibHandle := LoadLibrary('NETAPI32.DLL');
if FLibHandle = 0 then Exit;
@NetShareDelNT := GetProcAddress(FLibHandle,'NetShareDel');
if not Assigned(NetShareDelNT) then //Проверка
begin
FreeLibrary(FLibHandle);
Exit;
end;
i:= SizeOf(WideChar)*256;
GetMem(NameNT,i); //Выделяем память под переменную
StringToWideChar(ShareName,NameNT,i); //Преобразуем в PWideChar
NetShareDelNT(nil,NameNT,0); //Удаляем ресурс
FreeMem(NameNT); //Освобождаем память
end else begin //Код для 9х-Ме
FLibHandle := LoadLibrary('SVRAPI.DLL');
if FLibHandle = 0 then Exit;
@NetShareDel := GetProcAddress(FLibHandle,'NetShareDel');
if not Assigned(NetShareDel) then //Проверка
begin
FreeLibrary(FLibHandle);
Exit;
end;
FillChar(Name9x, SizeOf(Name9x), #0); //Очищаем массив
move(ShareName[1],Name9x[0],Length(ShareName)); //Заполняем массив
NetShareDel(nil,@Name9x,0); //Удаляем ресурс
end;
FreeLibrary(FLibHandle);
end;