Форум: "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