我想在本地将一个文件夹共享给某个指定的用户,应该用哪些api处理(windows 2000中)?
例如:文件夹名C:\test,本机创建又一个用户名为pc01,在用api NetShareAdd()创建共享时,系统默认的用户是everyone,现在我要将everyone去掉然后改成pc01,要用哪些api函数?

解决方案 »

  1.   

    Public Type SECURITY_DESCRIPTOR
            Revision As Byte
            Sbz1 As Byte
            Control As Long
            Owner As Long
            Group As Long
            Sacl As ACL
            Dacl As ACL
    End Type
    那需要你对这个结构做设置而不是用默认的。
      

  2.   

    恩,用DOS命令确实可以做到,楼主有兴趣可以自己查查,然后用SHELL 函数调用相应DOS命令就可以了(具体调用方法参照下面的URL)
    不过就楼主已经写好了共享的代码给出一个思路:
    把你共享的这部分编译成EXE,用PC01的身份去运行,关于怎么用其他用户身份运行参照:
    http://community.csdn.net/Expert/topic/4828/4828748.xml?temp=.1332361
    里面我对用其他用户身份运行程序进行了比较详细的讨论。
      

  3.   

    province_(雍昊):老兄 有没有这方面的例子给一个参考一下。先谢了zcsor :老兄:可能使我没有说明白。我现在要处理的程序是这样的。首先我要在服务器上创建很多用户,再对不同的用户创建和他们同名的文件夹,并且要将这些文件夹只能共享给对应用户。dos 命令去哪里查?
      

  4.   

    NET SHARE
    sharename
              sharename=drive:path [/USERS:number | /UNLIMITED]
                                   [/REMARK:"text"]
                                   [/CACHE:Manual | Documents| Programs | None ]
              sharename [/USERS:number | /UNLIMITED]
                        [/REMARK:"text"]
                        [/CACHE:Manual | Documents | Programs | None]
              {sharename | devicename | drive:path} /DELETE
    用net share命令就可以 命令格式在上面