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

Вниз

Закрыть все открытые диски или папки на доступ   Найти похожие ветки 

 
Эндрю2   (2002-10-17 23:55) [0]

Подскажите как мне нажатием одной кнопки закрыть все открытые диски на доступ(у которых рука под папкой или названия диска), а потом их также все открыть, но без перезагрузки Windows


 
Pumpkin   (2002-10-18 10:11) [1]

Здесь об этом говорили много раз. Поищи.
Если кратко: NetShareAdd + NetShareDel + SHChangeNotify.
Для Win9x/ME нужен svrapi.pas который можно взять здесь ftp://delphi-jedi.org/api/LanManager.zip


 
Эндрю2   (2002-10-21 19:34) [2]

Ни чего я не нашел


 
Ricky-Ticky-Tavy   (2002-10-25 14:42) [3]

Найди описание svrapi.dll (где-то в инете видел исходник переписанный под Delphi)


 
Pumpkin   (2002-10-25 20:35) [4]

Еще раз: скачай ftp://delphi-jedi.org/api/LanManager.zip
Там есть все, что тебе нужно, с примерами.


 
Эндрю2   (2002-10-25 21:20) [5]

Ну, типа что-то нашел буду разбираться.
А может кто конкретный исходник кинет.


 
Эндрю2   (2002-11-19 22:48) [6]

Нашел я тут ниже следующее, это все не то
Мне нужно прочитать реестр, увидеть что
диски открыты, и предложить их закрыть,
а потом ихже опять открыть
кто-нибуть подскажет?

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;



 
Эндрю2   (2002-11-26 17:51) [7]

Неужель такая сложная тема


 
Эндрю2   (2002-12-02 21:32) [8]

Ну кто-нибуть, хоть что-нибуть



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

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

Наверх




Память: 0.47 MB
Время: 0.007 c
7-97056
3223(jab)
2002-11-17 15:48
2003.01.30
Web Cam


1-96682
Сатир
2003-01-21 18:42
2003.01.30
Запись в конец потока символа конца строки


8-96892
Vadim SA
2002-10-10 13:17
2003.01.30
И снова ICO


1-96765
tulen
2003-01-22 17:31
2003.01.30
Отключение кнопки Delete


6-96903
sera
2002-12-03 11:06
2003.01.30
Как получить список компов из Active Directory





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский