Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2004.01.23;
Скачать: [xml.tar.bz2];

Вниз

общий доступ на папку   Найти похожие ветки 

 
Алексеюшка   (2003-11-18 10:06) [0]

Подскажите пожалуйста, как программно поставить на каталог "Общий доступ". Проблема такая: в директории есть какое-то кол-во папок около 40-ка, необходимо для каждой установить в свойствах доступа "Общий доступ". Помогите, очень надо...


 
Игорь Шевченко   (2003-11-18 10:15) [1]

NetShareAdd


 
Алексеюшка   (2003-11-18 10:18) [2]

Извините,а нельзя ли по подробнее... Я в Делфи новичок.


 
Anatoly Podgoretsky   (2003-11-18 10:32) [3]

Так может не стоит пока заниматься сложными вещами, до накопления опыта?


 
Алексеюшка   (2003-11-18 10:41) [4]

Да мне просто по работе нужно. Всякий раз когда падает сервер приходится устанасливать вручную доступ на 40+- папок, слегка утомляет. Вот я и подумал что смогу получить сдесь ответ, в идеале бы кусочек кода. Буду очень признателен если кто нибудь даст хотя бы ссылки где про это можно почитать..


 
Игорь Шевченко   (2003-11-18 12:07) [5]


> Буду очень признателен если кто нибудь даст хотя бы ссылки
> где про это можно почитать..


Win32.hlp


 
Anatoly Podgoretsky   (2003-11-18 12:15) [6]

Не оттуда пляшешь, почему падает сервер, такого не должно быть никогда!


 
pasha_golub   (2003-11-18 12:17) [7]

Удалено модератором
Примечание: Offtopic


 
Anatoly Podgoretsky   (2003-11-18 12:27) [8]

Сделать нормальную влажность, или не понятно, что за сервер такоей, если данные на нем не важны.
Бороться надо с причинами,а не со следствиями.


 
Алексеюшка   (2003-11-18 12:35) [9]

Нашел тут код, но почемуто не работает нажимаешь на кнопку, никаких ошибок не происходит и доступ тоже не ставится. Посмотрите что не так. У меня Win2000
Вообще какой уровень доступа применять 502,1,2?
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;

procedure Button1Click(Sender: TObject);

end;

Share_INFO_2= record
shi2_netname:PWideChar; // ОБЯЗАТЕЛЬНО PWideChar иначе работать не будет...
shi2_type:DWORD;
shi2_remark:LPTSTR;
shi2_permissions:DWORD;
shi2_max_uses:DWORD;
shi2_current_uses:DWORD;
shi2_path:PWideChar;
shi2_passwd:LPTSTR;
end;
PShare_INFO_2 = ^Share_INFO_2;
LPShare_INFO_2 = ^Share_INFO_2;

SHARE_INFO_502 =record
shi502_netname: PCHAR;
shi502_type: DWORD;
shi502_remark: PCHAR;
shi502_permissions: DWORD;
shi502_max_uses: DWORD;
shi502_current_uses: DWORD;
shi502_path: PCHAR;
shi502_passwd: PCHAR;
shi502_reserved: DWORD;
shi502_security_descriptor: PSECURITY_DESCRIPTOR;
end;
PSHARE_INFO_502= ^SHARE_INFO_502;
LPSHARE_INFO_502=^SHARE_INFO_502;

const

STYPE_DISKTREE = $0001;
ACCESS_READ = $0001;

var
Form1: TForm1;
F:Cardinal;
function NetShareAdd(
Server : PwideChar;
level : cardinal;
Buf : Pointer;
var Parm_Err : DWORD):Cardinal;stdcall; external "netapi32.dll" name "NetShareAdd";

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
var
buf:Pointer;
UserInf:Share_INFO_2;
UserInf502:Share_INFO_502;
err:dWord;
begin

err:=0;
f:=0;
UserInf.shi2_netname:="test";
UserInf.shi2_type:=0;
UserInf.shi2_remark:="test";
UserInf.shi2_permissions:=1;
UserInf.shi2_max_uses:= 1;
UserInf.shi2_current_uses:=0;
UserInf.shi2_path:="C:\test";
UserInf.shi2_passwd:=nil;

GetMem(Buf ,sizeof(UserInf));

F:=NetSHAREAdd(nil,2,@UserInf,err);
FreeMem(Buf);

end;
end.


 
FireHack   (2003-11-18 14:34) [10]

Если ты новичок в дельфи, но сидишь за сервером, не проще ли скрипт написать
см
net help share


 
Алексеюшка   (2003-11-18 15:19) [11]

Я не то чтобы совсем новичок, в институте Delphi изучал, паскаль неплохо знаю (на базовом уровне). Т.е в самом языке я ориентируюсь, но никогда не работал с API в делфе. Вообщем с доступом я разобрался - заработало. Только теперь другая проблема:
если переменной "UserInf.shi2_path" (см.выше) присваивать значение напрямую, т.е UserInf.shi2_path:="C:\test\m" например то работает,а если писать
UserInf.shi2_path:=PwideChar(mas[i]),где mas-строковый массив,то получается кроказябра вроде ????m.
Вообщем как нормально присвоить переменной типа PWideChar строковое значение. Извините если глупый вопрос...


 
Игорь Шевченко   (2003-11-18 15:24) [12]

StringToWideChar



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

Форум: "WinAPI";
Текущий архив: 2004.01.23;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.006 c
6-72868
Razorblade
2003-11-20 17:13
2004.01.23
WININET.InternetCheckConnection.... ?


1-72760
Riddler
2004-01-13 14:56
2004.01.23
Как сделать подсветку текста?


3-72671
Igor_Sams
2003-12-25 16:17
2004.01.23
Сохранение набора данных в файл


14-72922
Minin
2003-12-29 23:21
2004.01.23
Как должен называться процесс


1-72783
Broot
2004-01-14 09:48
2004.01.23
Версия exe файла





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский