![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
общий доступ на папку
Алексеюшка © (2003-11-18 10:06:00)
Подскажите пожалуйста, как программно поставить на каталог "Общий доступ". Проблема такая: в директории есть какое-то кол-во папок около 40-ка, необходимо для каждой установить в свойствах доступа "Общий доступ". Помогите, очень надо...
Игорь Шевченко (2003-11-18 15:24:00) [1]
StringToWideChar
Алексеюшка (2003-11-18 15:19:00) [2]
Я не то чтобы совсем новичок, в институте Delphi изучал, паскаль неплохо знаю (на базовом уровне). Т.е в самом языке я ориентируюсь, но никогда не работал с API в делфе. Вообщем с доступом я разобрался - заработало. Только теперь другая проблема:
если переменной "UserInf.shi2_path" (см.выше) присваивать значение напрямую, т.е UserInf.shi2_path:="C:\test\m" например то работает,а если писать
UserInf.shi2_path:=PwideChar(mas[i]),где mas-строковый массив,то получается кроказябра вроде ????m.
Вообщем как нормально присвоить переменной типа PWideChar строковое значение. Извините если глупый вопрос...
FireHack (2003-11-18 14:34:00) [3]
Если ты новичок в дельфи, но сидишь за сервером, не проще ли скрипт написать
см
net help share
Алексеюшка (2003-11-18 12:35:00) [4]
Нашел тут код, но почемуто не работает нажимаешь на кнопку, никаких ошибок не происходит и доступ тоже не ставится. Посмотрите что не так. У меня 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.
Anatoly Podgoretsky (2003-11-18 12:27:00) [5]
Сделать нормальную влажность, или не понятно, что за сервер такоей, если данные на нем не важны.
Бороться надо с причинами,а не со следствиями.
pasha_golub (2003-11-18 12:17:00) [6]
Удалено модератором
Примечание: Offtopic
Anatoly Podgoretsky (2003-11-18 12:15:00) [7]
Не оттуда пляшешь, почему падает сервер, такого не должно быть никогда!
Игорь Шевченко (2003-11-18 12:07:00) [8]
> Буду очень признателен если кто нибудь даст хотя бы ссылки
> где про это можно почитать..
Win32.hlp
Алексеюшка (2003-11-18 10:41:00) [9]
Да мне просто по работе нужно. Всякий раз когда падает сервер приходится устанасливать вручную доступ на 40+- папок, слегка утомляет. Вот я и подумал что смогу получить сдесь ответ, в идеале бы кусочек кода. Буду очень признателен если кто нибудь даст хотя бы ссылки где про это можно почитать..
Anatoly Podgoretsky (2003-11-18 10:32:00) [10]
Так может не стоит пока заниматься сложными вещами, до накопления опыта?
Алексеюшка (2003-11-18 10:18:00) [11]
Извините,а нельзя ли по подробнее... Я в Делфи новичок.
Игорь Шевченко (2003-11-18 10:15:00) [12]
NetShareAdd