Win32_ShareクラスのCreate
メソッドを使用できます。
Const
FILE_SHARE = 0;
MAXIMUM_CONNECTIONS = 25;
function CreateShared(const Path, Name, Description : string):Integer;
var
FSWbemLocator: Variant;
FWMIService : Variant;
FWbemObjectSet: Variant;
begin
FSWbemLocator := CreateOleObject('WBEMScripting.SWBEMLocator');
FWMIService := FSWbemLocator.ConnectServer('', 'root\CIMV2', '', '');
FWbemObjectSet := FWMIService.Get('Win32_Share');
Result:=FWbemObjectSet.Create(Path, Name, FILE_SHARE, MAXIMUM_CONNECTIONS, Description);
end;
このサンプルを試してみて、このよう
Err:= CreateShared('C:\Foo', 'MyShare','This is a public shared folder'); //0 indicates Success
での使用は、このコードをありがとう有用であるが、私はまた、必要に思わパブリック共有を読み取り/書き込みを作成する必要がありますWin32_SecurityDescriptor、関連する例は見つかりません。これを行う方法に関するアイデアやリンクがあれば幸いです。 –
@RRUZこのコードは、読み取り権限で作成します。どのようにして読み書きを設定できますか? – syloc
同じWMIクラスの 'SetShareInfo'メソッドを使用する必要があります。 – RRUZ