Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.04.11;
Скачать: CL | DM;

Вниз

Что такое расшарить диск?   Найти похожие ветки 

 
ATLANTIDO ©   (2002-02-20 00:44) [0]

Что такое расшарить диск?


 
Tosov ©   (2002-02-20 00:58) [1]

создать сетевой диск


 
Suntechnic ©   (2002-02-20 06:52) [2]

>Tosov © (20.02.02 00:58)
скорее наоборот :)

>ATLANTIDO © (20.02.02 00:44)
Расшарить диск- дать доступ к локальному диску(или части диска, например какой-нибудь папке) своего компьютера.


 
Tosov ©   (2002-02-20 23:26) [3]

Suntechnic
А что здесь наоборот?


 
Suntechnic ©   (2002-02-20 23:46) [4]

>Tosov © (20.02.02 23:26)
Наоборот здесь то, что обычно, сетевые диски создают те, кто пользуется "расшаренными" дисками, а не авторы "расшаривания". Но в моём замечании было больше юмора, чем реального отражения вещей(см. смайлик).


 
ATLANTIDO ©   (2002-02-20 23:52) [5]

А как это сделать (не программно) на своей же машине ?


 
Tosov ©   (2002-02-21 00:22) [6]

Suntechnic
Ясно :)

ATLANTIDO
Правой кнопкой на папке - закладка доступ
Если закладки нет - настраивай(установи) сеть (уже не помню что).


 
33   (2002-02-21 06:28) [7]

>Если закладки нет - настраивай(установи) сеть
>(уже не помню что).

Служба доступа к файлам и принтерам сетей Microsoft
(сеть Microsoft)


 
ATLANTIDO ©   (2002-02-23 01:00) [8]

А как его программно расшарить ?


 
panov ©   (2002-02-23 12:23) [9]

>ATLANTIDO © (23.02.02 01:00)
Добавить соответствующие ключи в реестр.
Запусти REGEDIT и посмотри, как они созданы.


 
Агент 007   (2002-02-23 14:26) [10]


> А как его программно расшарить ?


Легко и просто: под ДОС"ом: format YOURDRIVE:
y



 
panov ©   (2002-02-23 19:18) [11]

>Агент 007 (23.02.02 14:26)
очень смешно.


 
ATLANTIDO ©   (2002-02-23 20:37) [12]

После того как я расшариваю диск он становится доступным другим пользователям сети ? Как я могу получить доступ к расшареному диску другой машины в сети ?


 
panov ©   (2002-02-23 20:51) [13]

В конференции "Сети" ты найдешь ответ на свой вопрос...


 
ATLANTIDO ©   (2002-02-24 16:24) [14]

спасибо


 
ATLANTIDO ©   (2002-02-26 16:26) [15]

Все хорошо, вот только ... Понимаю что я жутко ламерю,
но ответьте на еще один тупой вопрос, который мне даже сложно
сформулировать (просто я никогда не сидел в локалке).
У меня компьютер не находится в локальной сети, но установлено соединеие с инетом. Могу я программно расшарить
свои диски, что бы они стали доступны другим пользователям
инета ?


 
Tosov ©   (2002-02-27 00:41) [16]

И вот это называется троянописатель :)

ATLANTIDO

> Могу я программно расшарить
> свои диски, что бы они стали доступны другим пользователям инета ?

Давай проверим - расшарь диск С и напиши сюда его название и твой IP-шник и ты узнаешь доступны ли они пользователям интернета :)


 
ATLANTIDO ©   (2002-02-27 00:58) [17]

Ну почему же сразу так ? Уточню:
если мой компьютер не в LAN то на нем могут быть не установлены
некоторые сетевые службы кс помощью которых можно диск расшарить
(это не утверждение ! а вопрос). Просто я попробовал расшарить свой диск (>>Tosov c паролем ественно) и у меня выдалась ошибка "Сервер не доступен". По просьбам трудящих
могу код привести.


 
Tosov ©   (2002-02-27 02:12) [18]

Пуск | Настройка | Сеть и устанавливай все, что душе угодно... А что устанавливать - посмотри пост 33(21.02.02 06:28). И соответственно если у тебя этих служб нет - ничего работать не будет :)


 
[NIKEL] ©   (2002-02-27 11:30) [19]

если ты знаешь С я могу тебе скинуть исходник проги которая сидит в памяти и прослушивает
6000 порт, при подключении на него обыкновенным телнетом
выдает сетевое имя машины и пароли к дискам,
данным в общий доступ :) очень занимательный исходник получился...


 
lancelot ©   (2002-02-27 23:40) [20]

ето значит залезть на чужой диск и расшарить там все то, что его хозяин заботливо зашарил (т.е. упрятал от чужих глаз)... :-)))


 
ATLANTIDO ©   (2002-02-28 20:28) [21]

2[NIKEL] : исходник это хорошо, только у меня немного другая задача. Вот мой код (в нескольких частях):

unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls ;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
//подключаем две функции из библиотеки svrapi.dll
Function NetShareAdd(Servername : PChar; Level : Integer; Buffer : Pointer;
BufferSize : Integer) : Integer; stdcall; external "svrapi.dll";
Function NetShareDel(Servername : PChar; NetName : PChar; Reserved:DWORD): DWORD;
stdcall; external "svrapi.dll";
//необходимые константы
const
{см. LmCons.pas}
LM20_NNLEN = 12;
SHPWLEN = 8;
SHI50F_RDONLY = 1;
SHI50F_FULL = 2;
STYPE_DISKTREE = 0;
SHI50F_PERSIST = $0100;
SHI50F_SYSTEM = $0200;
{см. LmErr.pas}
NERR_BASE = 2100;
NERR_NetNotStarted = NERR_BASE+2;
NERR_UnknownServer = NERR_BASE+3;
NERR_ServerNotStarted = NERR_BASE+14;
NERR_UnknownDevDir = NERR_BASE+16;
NERR_RedirectedPath = NERR_BASE+17;
NERR_DuplicateShare = NERR_BASE+18;
NERR_BufTooSmall = NERR_BASE+23;
NERR_NetNameNotFound = NERR_BASE+210;
NERR_InvalidComputer = NERR_BASE+251;
NERR_ShareNotFound = NERR_BASE+292;
//формируем тип для записи с необходимыми параметрами
Type
TShareInfo50 = Record
shi50_netname: Array[0..LM20_NNLEN] Of Char; //сетевое имя
shi50_type: Byte; //тип ресурса
shi50_flags: Short; //флаг доступа
shi50_remark: PChar; // комментарий
shi50_path: PChar; // путь к ресурсу
shi50_rw_password: Array[0..SHPWLEN] Of Char;//пароль полного доступа
shi50_ro_password: Array[0..SHPWLEN] Of Char;//пароль "только чтение" доступа
End; {Record}
var
Form1: TForm1;
implementation
{$R *.DFM}


 
ATLANTIDO ©   (2002-02-28 20:29) [22]

Продолжение:

procedure TForm1.Button1Click(Sender: TObject);
Var
info50: TShareInfo50;
rc, cb: Integer;
ServerName, Path, NetName, ErrMes, ErrCap, Comment:String;
MessIconBtn:Byte;
begin
//установим необходимые параметры
ServerName:="";
Path:="C:\TEMP";
NetName:="TEST";
Comment:="This is a network machine""s commentary";
//заполним буфер
FillChar(info50, sizeof(info50), 0);
With info50 Do
Begin{With}
StrCopy(shi50_netname, PChar(NetName)); //сетевое имя
shi50_type := STYPE_DISKTREE; //подключать будем диск
shi50_remark:=PChar(Comment); //комментарий
shi50_flags:= SHI50F_RDONLY OR SHI50F_FULL //доступ определяется паролем
OR SHI50F_PERSIST;//и пишется в Registry
shi50_path:=PChar(Path); //путь
StrPCopy(shi50_rw_password,"ASDF"); //пароль для полного доступа
StrPCopy(shi50_ro_password,"QWE"); // пароль для "только чтение"
End;{With}
//установим размер буфера
cb := sizeof(info50);
//основная функция
rc := NetShareAdd(PChar(ServerName), 50, @info50, cb);
//сформируем текст сообщений об успехе или ошибках
ErrMes:="Доступ к устройству ""+NetName+"" открыт!";
ErrCap:="Все в порядке!";
MessIconBtn:=MB_OK OR MB_ICONINFORMATION;
//проверка ошибок
If rc <> 0 Then
Begin {ошибка}
ErrCap:="Ошибка!";
MessIconBtn:=MB_OK OR MB_ICONERROR;
Case rc Of
//расшифровка ошибок
ERROR_NOT_ENOUGH_MEMORY : ErrMes:="Недостаточно памяти";
ERROR_BAD_NETPATH : ErrMes:="""+Servername+ "" - неверное сетевое имя!";
ERROR_NETNAME_DELETED : ErrMes:="Сетевой ресурс более недоступен";
ERROR_NETWORK_ACCESS_DENIED: ErrMes:="Отсутствует доступ к сети";
ERROR_BAD_DEV_TYPE : ErrMes:="Неверный тип сетевого ресурса";
ERROR_BAD_NET_NAME : ErrMes:="Не найдено сетевое имя";
ERROR_INVALID_PARAMETER : ErrMes:="Неверный параметр";
ERROR_INVALID_LEVEL : ErrMes:="Неверный уровень администрирования";

NERR_InvalidComputer:ErrMes:="Неверное имя компьютера!";
NERR_UnknownServer:ErrMes:="Неизвестный сервер!";
NERR_UnknownDevDir:ErrMes:="Устройство ""+Path+"" отсутствует!";
NERR_ServerNotStarted:ErrMes:="Сервер не работает!";
NERR_RedirectedPath:ErrMes:="Переназначенный путь!";
NERR_DuplicateShare:ErrMes:="Сетевое имя ""+NetName+"" уже существует!";
NERR_BufTooSmall:ErrMes:="Слишком маленький буфер для данных!";
Else
End; {Case}
End; {ошибка}
//выдадим сообщение
MessageBox(Application.Handle,PChar(ErrMes),PChar(ErrCap),MessIconBtn);
end;

procedure TForm1.Button2Click(Sender: TObject);
Var
rc:DWord;
Servername,NetName, ErrMes, ErrCap:String;
MessIconBtn:Byte;
begin
ServerName:="";
NetName:="TEST";
rc:=NetShareDel(PChar(ServerName),PChar(NetName),0);
ErrMes:="Доступ к устройству ""+NetName+"" закрыт!";
ErrCap:="Все в порядке!";
MessIconBtn:=MB_OK OR MB_ICONINFORMATION;

If rc <> 0 Then
Begin {ошибка}
//ошибка
ErrCap:="Ошибка!";
MessIconBtn:=MB_OK OR MB_ICONERROR;

Case rc Of
//расшифровка ошибок
ERROR_BAD_NETPATH:ErrMes:="""+Servername+ "" - неверное сетевое имя!";
ERROR_INVALID_PARAMETER:ErrMes:="Неверный параметр!";
NERR_NetNotStarted:ErrMes:="Сеть недоступна!";
NERR_ServerNotStarted:ErrMes:="Сервер не работает!";
NERR_NetNameNotFound:ErrMes:="Устройство не существует!";
NERR_ShareNotFound:ErrMes:="Сетевое имя ""+NetName+"" не найдено!";
Else
//смотри ошибки для NetShareAdd или
ErrMes:="Неизвестная сетевая ошибка!";
End; {Case}
End;{ошибка}
MessageBox(Application.Handle,PChar(ErrMes),PChar(ErrCap),MessIconBtn);
end;
end.


 
ATLANTIDO ©   (2002-02-28 20:32) [23]

Что такое

> пост 33(21.02.02 06:28)
?


 
[NIKEL] ©   (2002-03-01 05:58) [24]

2ATLANTIDO
не понял... конкретно какой вопрос?


 
ATLANTIDO ©   (2002-03-01 18:53) [25]

Повторю:я запускаю этот код на своей машине, и выдается сообщение
"Сервер не доступен".


 
ATLANTIDO ©   (2002-03-02 20:34) [26]

Help me ! SOS!



Страницы: 1 вся ветка

Текущий архив: 2002.04.11;
Скачать: CL | DM;

Наверх




Память: 0.54 MB
Время: 0.018 c
1-32809
AFROLOV
2002-04-01 11:17
2002.04.11
Брэйкпоинт в DLL и глобальных Hook


3-32615
Drik
2002-03-18 19:46
2002.04.11
Firebird


3-32715
Grrey
2002-03-20 23:17
2002.04.11
SQL-запрос. Неужели придется прогу писать?


1-32752
michael_B
2002-03-30 17:48
2002.04.11
Как отображать текст в TPanel или TLabel в несколько строк


1-32763
michael_B
2002-03-30 20:21
2002.04.11
Как заблокировать во время выполнения моей программы