CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  C#

在winfrom怎么用代码创建共享文件夹

楼主evaELLIS()2004-12-02 14:57:11 在 .NET技术 / C# 提问

我在作一个打包文件,想在展开时有一个共享文件夹,向大家问一下怎么作。最好有代码 问题点数:100、回复次数:12Top

1 楼lucbesson(女娃哈哈)回复于 2004-12-02 15:13:35 得分 0

http://dev.csdn.net/develop/article/53/53878.shtm  
   
  楼主会vb吗   ?  
  c#的找不到。。。。。也没写过。Top

2 楼wwei69()回复于 2004-12-02 15:45:04 得分 0

你可以修改注册表的,把文件夹的值更改一下Top

3 楼evaELLIS()回复于 2004-12-02 15:48:49 得分 0

最好还是有C#的吧,VB.net我已经有段时间不用了。有点看懂了Top

4 楼wangxt(海贝)回复于 2004-12-02 16:03:35 得分 0

帮你顶Top

5 楼hbxtlhx(平民百姓-自已动手,丰衣足食)回复于 2004-12-02 16:08:59 得分 0

//共享类型  
  private   const   long   STYPE_ALL                   =   -1;  
  private   const   long   STYPE_DISKTREE       =   0;  
  private   const   long   STYPE_PRINTQ             =   1;  
  private   const   long   STYPE_DEVICE           =   2;  
  private   const   long     STYPE_IPC             =   3;  
  private   const   long   STYPE_SPECIAL       =   0X80000000;  
   
  //权限  
  private   const   long   ACCESS_READ         =   0X1;  
  private   const   long   ACCESS_WRITE         =   0X2;  
  private   const   long   ACCESS_CREATE         =   0X4;  
  private   const   long   ACCESS_EXEC             =   0X8;  
  private   const   long   ACCESS_DELETE         =   0X10;  
  private   const   long     ACCESS_ATRIB         =   0X20;  
  private   const   long   ACCESS_PERM             =   0X40;  
  private   const   long   ACCESS_ALL             =   ACCESS_READ   |   ACCESS_WRITE   |   ACCESS_CREATE   |   ACCESS_EXEC   |   ACCESS_DELETE   |   ACCESS_ATRIB   |   ACCESS_PERM;  
   
  //出错信息  
  private   const   int   ERROR_ACCESS_DENIED   =   5;  
   
  private   const   int   ERROR_INVALID_LEVEL   =   124;  
  private   const   int   ERROR_INVALID_NAME   =   123;//   dderror  
   
  private   const   int   DNS_ERROR_INVALID_NAME   =   ERROR_INVALID_NAME;  
   
  private   const   int   ERROR_INVALID_PARAMETER   =   87;//   dderror  
   
  private   const   int   NERR_BASE   =   2100;  
  private   const   int   NERR_DuplicateShare   =   (NERR_BASE+18);     /*   The   name   has   already   been   shared.   */  
   
  //共享信息  
  private   struct   SHARE_INFO_2  
  {  
  [MarshalAs(UnmanagedType.LPWStr)]    
  public   string   shi2_netname                 ;                 //共享名  
  public   long   shi2_type                     ;               //类型  
  [MarshalAs(UnmanagedType.LPWStr)]    
  public   string   shi2_remark                   ;                 //备注  
  public   long   shi2_permissions         ;                 //权限  
  public   long   shi2_max_uses               ;                 //最大用户  
  public   string   shi2_current_uses     ;                   //  
  public   string   shi2_path                       ;                 //路径  
  [MarshalAs(UnmanagedType.LPWStr)]    
  public   string   shi2_pswd                   ;                 //密码  
  }  
   
  //设置共享  
  [System.Runtime.InteropServices.DllImport("netapi32")]  
  private   static   extern   int   NetShareAdd(string   ServerName,int   level,ref   SHARE_INFO_2   buf,long   parmerr);  
   
  //删除共享  
  [System.Runtime.InteropServices.DllImport("netapi32")]  
  private   static   extern   int   NetShareDel(string   ServerName,   [MarshalAs(UnmanagedType.LPWStr)]ref   string   ShareName,   int   dword);  
  Top

6 楼hbxtlhx(平民百姓-自已动手,丰衣足食)回复于 2004-12-02 16:10:32 得分 0

以上是2000下用API来实现目录共享及删除共享Top

7 楼hbxtlhx(平民百姓-自已动手,丰衣足食)回复于 2004-12-02 16:11:23 得分 0

这个是2000以下的系统的:  
  public   enum   NetError  
  {  
  NERR_Success   =   0,  
  NERR_BASE   =   2100,  
  NERR_UnknownDevDir   =   (NERR_BASE   +   16),  
  NERR_DuplicateShare   =   (NERR_BASE   +   18),  
  NERR_BufTooSmall   =   (NERR_BASE   +   23),  
  NERR_NetNameNotFound   =   (NERR_BASE+210)  
  }  
   
  public   enum   SHARE_TYPE   :   ulong  
  {  
  STYPE_DISKTREE   =   0,  
  STYPE_PRINTQ   =   1,  
  STYPE_DEVICE   =   2,  
  STYPE_IPC   =   3,  
  STYPE_SPECIAL   =   0x80000000,  
  }  
   
  [   StructLayout(   LayoutKind.Sequential   )]  
  public   struct   SHARE_INFO_502  
  {  
  [MarshalAs(UnmanagedType.LPWStr)]  
  public   string   shi502_netname;  
  public   uint   shi502_type;  
  [MarshalAs(UnmanagedType.LPWStr)]  
  public   string   shi502_remark;  
  public   Int32   shi502_permissions;  
  public   Int32   shi502_max_uses;  
  public   Int32   shi502_current_uses;  
  [MarshalAs(UnmanagedType.LPWStr)]  
  public   string   shi502_path;  
  public   IntPtr   shi502_passwd;  
  public   Int32   shi502_reserved;  
  public   IntPtr   shi502_security_descriptor;  
  }  
   
  [DllImport("Netapi32.dll")]  
  public   static   extern   int   NetShareAdd([MarshalAs(UnmanagedType.LPWStr)]string   strServer,   Int32   dwLevel,   IntPtr   buf,   IntPtr   parm_err);  
  //删除共享  
  [System.Runtime.InteropServices.DllImport("netapi32")]  
  private   static   extern   int   NetShareDel([MarshalAs(UnmanagedType.LPWStr)]string   strServer,   [MarshalAs(UnmanagedType.LPWStr)]string   ShareName,   int   dword);  
  Top

8 楼dazhu2(【倚天不出,谁与争锋】)回复于 2004-12-02 17:09:44 得分 0

STUDYTop

9 楼zjsen(位高权重责任轻,钱多事少离家近,睡觉睡到自然醒, 数钱数到手抽筋. )回复于 2004-12-02 17:09:49 得分 0

把C:\test目录共享,共享名为:test  
  Process.Start(@"net   share   test=c:\test   ");  
  删除共享名为:test的共享目录  
  Process.Start(@"net   share   test   /delete   ");Top

10 楼xiaoslong(龙哥)回复于 2004-12-02 19:42:01 得分 0

帮你顶Top

11 楼yuwen121(雨文天空)回复于 2005-02-03 13:06:06 得分 100

顶  
  C:\test目录共享,共享名为:test  
  Process.Start(@"net   share   test=c:\test   ");  
  删除共享名为:test的共享目录  
  Process.Start(@"net   share   test   /delete   ");  
  Top

12 楼hbxtlhx(平民百姓-自已动手,丰衣足食)回复于 2005-02-03 13:21:42 得分 0

楼主什么意思,嗯!  
   
  我的回答太复杂可以不给我分,但是   yuwen121(雨文天空)   和   zjsen()   (   )   的回复几呼都是一样的为什么都把分给了一个人了!  
   
  给个说法来!Top

相关问题

  • 如何用代码实现共享文件夹?
  • 如何将一个文件夹完全共享,用代码,完成给分
  • 要让一个文件夹共享什么用代码实现呢
  • 在winxp,2003下共享一个文件夹的代码是否和win2000一样
  • 如何通过代码,将一个文件夹设置成共享?
  • 怎样在VB6中用代码以只读方式共享一个文件夹?
  • 共享文件夹监视
  • 文件夹共享问题
  • 关于文件夹共享!
  • 文件夹不能共享

关键词

  • c#
  • access
  • stype
  • 共享
  • privateconst long
  • invalid
  • error
  • privateconst int

得分解答快速导航

  • 帖主:evaELLIS
  • yuwen121

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo