您的位置:程序门 -> vb ->



如何用vb创建一个只读的共享文件夹(xp下)


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


如何用vb创建一个只读的共享文件夹(xp下)[已结贴,结贴人:leon137]
发表于:2007-04-28 11:26:09 楼主
如何用vb创建一个只读的共享文件夹(xp下)
发表于:2007-04-28 12:04:121楼 得分:8
参考   http://www.chinavb.net/article.asp?id=2164
发表于:2007-04-28 13:17:202楼 得分:0
用连接中的方法调用的共享文件夹好象在网络上调用不来啊 提示"没有权限访问网络资源 ",好象问题有点复杂了,要是想反问这个文件夹还要做什么呢 
该程序源代码如下
'共享类型    
private     const     stype_all                             as     long     =     -1    
private     const     stype_disktree         as     long     =     0    
private     const     stype_printq                 as     long     =     1    
private     const     stype_device                 as     long     =     2    
private     const     stype_ipc                             as     long     =     3    
private     const     stype_special             as     long     =     &h80000000    
 
'共享权限    
private     const     access_read                     as     long     =     &h1    
private     const     access_write                 as     long     =     &h2    
private     const     access_create             as     long     =     &h4    
private     const     access_EXEC                     as     long     =     &h8    
private     const     access_delete             as     long     =     &h10    
private     const     access_atrib                 as     long     =     &h20    
private     const     access_perm                     as     long     =     &h40    
private     const     access_all                         as     long     =     access_read     or     _    
                                                                                                                                                              access_write     or     _    
                                                                                                                                                              access_create     or     _    
                                                                                                                                                              access_EXEC     or     _    
                                                                                                                                                              access_delete     or     _    
                                                                                                                                                              access_atrib     or     _    
                                                                                                                                                              access_perm    
 
'共享信息    
private     type     share_info_2    
      shi2_netname                             as     long                                 '共享名    
      shi2_type                                         as     long                                 '类型    
      shi2_remark                                 as     long                                 '备注    
      shi2_permissions             as     long                                 '权限    
      shi2_max_uses                         as     long                                 '最大用户    
      shi2_current_uses         as     long                                 '    
      shi2_path                                         as     long                                 '路径    
      shi2_passwd                                 as     long                                 '密码    
end     type    
         
'设置共享    
private     declare     function     netshareadd     lib     "netapi32 "     _    
                                                                                                          (byval     servername     as     long,     _    
                                                                                                              byval     level     as     long,     _    
                                                                                                              buf     as     any,     _    
                                                                                                              parmerr     as     long)     as     long    
 
'删除共享    
private     declare     function     netsharedel     lib     "netapi32.dll "     _    
                                                                                                          (byval     servername     as     long,     _    
                                                                                                              byval     sharename     as     long,     _    
                                                                                                              byval     dword     as     long)     as     long    
                                                                                     
'设置共享    
private     sub     command1_click()    
 
          dim     success     as     long    
                                                             
          success     =     shareadd( "\\xp ", "c:\ ", "download ", "资源目录 ", " ")        
                                                                                         
end     sub    
 
'删除共享    
private     sub     command2_click()    
          dim     success     as     long    
                                                             
          success     =     delshare( "\\xp ", "download ")    
             
end     sub    
 
'设置共享(返回0     为成功)    
'参数:    
'sserver                                         计算机名    
'ssharepath                             要共享路径    
'ssharename                             显示的共享名    
'sshareremark                     备注    
'ssharepw                                     密码    
private     function     shareadd(sserver     as     string,     _    
                                                                                                      ssharepath     as     string,     _    
                                                                                                      ssharename     as     string,     _    
                                                                                                      sshareremark     as     string,     _    
                                                                                                      ssharepw     as     string)     as     long    
             
          dim     lngserver             as     long    
          dim     lngnetname         as     long    
          dim     lngpath                     as     long    
          dim     lngremark             as     long    
          dim     lngpw                             as     long    
          dim     parmerr                 as     long    
          dim     si2                                 as     share_info_2    
             
          lngserver     =     strptr(sserver)                         '转成地址    
          lngnetname     =     strptr(ssharename)    
          lngpath     =     strptr(ssharepath)    
             
          '如果有备注信息    
          if     len(sshareremark)     >     0     then    
                      lngremark     =     strptr(sshareremark)    
          end     if    
             
          '如果有密码    
          if     len(ssharepw)     >     0     then    
                      lngpw     =     strptr(ssharepw)    
          end     if    
                         
      '初始化共享信息    
          with     si2    
                      .shi2_netname     =     lngnetname    
                      .shi2_path     =     lngpath    
                      .shi2_remark     =     lngremark    
                      .shi2_type     =     stype_disktree    
                      .shi2_permissions     =     access_all    
                      .shi2_max_uses     =     -1    
                      .shi2_passwd     =     lngpw    
          end     with    
                                                                                                         
      '设置共享(用户名,共享类型,共享信息,)    
          shareadd     =     netshareadd(lngserver,     _    
                                                                                                      2,     _    
                                                                                                      si2,     _    
                                                                                                      parmerr)    
                                                                                                         
end     function    
 
'删除共享(返回0     表示成功)    
'参数:    
'sserver                             计算机名    
'ssharename                 共享名    
private     function     delshare(sserver     as     string,     _    
                                                                                                      ssharename     as     string)     as     long    
             
          dim     lngserver             as     long                             '计算机名    
          dim     lngnetname         as     long                             '共享名    
 
          lngserver     =     strptr(sserver)                         '转成地址    
          lngnetname     =     strptr(ssharename)    
 
          '删除共享    
          delshare     =     netsharedel(lngserver,     lngnetname,     0)    
 
end     function
发表于:2007-10-08 13:49:113楼 得分:7
我也遇到过,我怀疑是ntfs分区的问题,可又不知道怎么解决,
你要是解决了给我一份,我要是有办法也给你一份
我的邮箱是zou8203@163.com


快速检索

最新资讯
热门点击