如何在程序中实现文件共享?

jruv 2002-05-17 04:44:55
如何在程序中实现文件共享?要修改注册表吗?又如何设定共享的权限呢,比如只读,完全,按密码访问等,请高人不吝赐教!
...全文
83 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
wumugulu 2002-05-17
  • 打赏
  • 举报
回复
#define UNICODE
#include <windows.h>
#include <stdio.h>
#include <lm.h>

void wmain( int argc, TCHAR *argv[ ])
{
NET_API_STATUS res;
SHARE_INFO_2 p;
DWORD parm_err = 0;

if(argc<2)
printf("Usage: NetShareAdd server\n");
else
{
//
// Fill in the SHARE_INFO_2 structure.
//
p.shi2_netname = TEXT("TESTSHARE");
p.shi2_type = STYPE_DISKTREE; // disk drive
p.shi2_remark = TEXT("TESTSHARE to test NetShareAdd");
p.shi2_permissions = 0;
p.shi2_max_uses = 4;
p.shi2_current_uses = 0;
p.shi2_path = TEXT("C:\\");
p.shi2_passwd = NULL; // no password
//
// Call the NetShareAdd function,
// specifying level 2.
//
res=NetShareAdd(argv[1], 2, (LPBYTE) &p, &parm_err);
//
// If the call succeeds, inform the user.
//
if(res==0)
printf("Share created.\n");

// Otherwise, print an error,
// and identify the parameter in error.
//
else
printf("Error: %u\tparmerr=%u\n", res, parm_err);
}
return;
}
wumugulu 2002-05-17
  • 打赏
  • 举报
回复

short nLevel = 50;
struct share_info_50* pBuf = NULL;
unsigned short cbBuffer;
NET_API_STATUS nStatus;
char path[]="C:\\SERVER\\";

cbBuffer = sizeof(struct share_info_50);
pBuf =(share_info_50 *) malloc(cbBuffer);

if (pBuf == NULL)
printf("No memory\n");

strcpy(pBuf->shi50_netname,"server");//pBuf->shi50_netname是在
//网络邻居里看到的名字
pBuf->shi50_type = STYPE_DISKTREE;//共享类型
pBuf->shi50_flags = SHI50F_ACCESSMASK;
pBuf->shi50_remark = NULL;//注释
pBuf->shi50_path=path;//本地欲共享的文件夹
pBuf->shi50_rw_password[0] = '\0'; //没有密码
pBuf->shi50_ro_password[0] = '\0'; //没有密码

//调用 NetShareAdd 函数,指定用level 50
nStatus = NetShareAdd(pszServerName,//NULL表示本地文件夹
nLevel,//级别50
(char FAR *)pBuf,
cbBuffer);//share_info_50结构的大小
//显示结果
switch(nStatus)
{
case NERR_Success:
printf("Share added successfully.\n");
break;
case NERR_UnknownDevDir:
printf("unknowndevdir.\n");
break;
case NERR_DuplicateShare:
printf("The name has already been shared.\n");
break;
}

//释放内存
if (pBuf != NULL)
free(pBuf);

16,473

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧