以下程序已经测试通过,不过要重起计算机。可能要发消息给系统告诉
共享发生变化,可我不知道次消息。不过70分到手了. {B-)
1,2处得WINAMP 必须完全一样。否则将失败。
procedure TForm1.Button1Click(Sender: TObject);
var
reg : TRegistry;
s : String;
buf:array [0..10]of byte;
begin
//s是在"网上邻居"看到的目录名字
s := 'WINAMP'; //1
//建立一个只读,无密码共享目录
reg := TRegistry.Create;
reg.RootKey := HKEY_LOCAL_MACHINE;
reg.OpenKey( 'Software/Microsoft/Windows/CurrentVersion/Network/LanMan/'+ s, true );
//标志位, 访问权限
//401代表只读访问
//258代表完全访问
//259代表有密码访问
reg.WriteInteger( 'Flags', 401 );
//参数2,放置完全访问密码,已加密
reg.WriteBinaryData( 'Parm1enc', Buf,0 );
//参数2,放置只读访问密码,已加密
reg.WriteBinaryData( 'Parm2enc', Buf,0 );
//放置要共享的目录的绝对路径
reg.WriteString( 'Path', 'D:/WINAMP'); //2
//放置"备注"
reg.WriteString( 'Remark', '' );
//不明
reg.WriteInteger( 'Type', 0 );
reg.closekey;
end;