如何通过程序来实现文件夹的共享?

jjcooljj 2004-04-30 12:44:44
如何把文件夹共享,并且只对某个用户进行共享?
...全文
103 6 打赏 收藏 举报
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
jjcooljj 2004-05-10
那么取消共享呢?!
  • 打赏
  • 举报
回复
查看WNet函数组,好像还有例子呢。
  • 打赏
  • 举报
回复
gjd111686 2004-04-30
粗略如下:每台机子启动以后,广播他已经启动的消息,其他启动的机子通过他的数据包获得主机名和域名,同时标识其机。
每台机子建立一个共享文件,记录本机的共享目录,其他网内主机发送请求后,由其权限发出共享目录名。
然后...........

用NetServerEnum 列出所有的server
再用NetFileEnum枚举出所有的共享文件。

void EnumServer()
{LPSERVER_INFO_100 pServerEnum;
DWORD dwResult, dwRead, dwTotal;

dwResult = ::NetServerEnum( NULL, 100,
(BYTE**) &pServerEnum,
-1, &dwRead, &dwTotal,
SV_TYPE_ALL, NULL, 0 );

if ( dwResult == NERR_Success ){
for ( DWORD i=0; i<dwRead; i++ )
m_wndListBox.AddString( CString( (LPCWSTR) pServerEnum[ i ].sv100_name ) );
}
}



void PrintNetFiles(LPWSTR server)
{

resumeh = 0;
do
{
buff = NULL;

rc=NetFileEnum(
(char *) server,
NULL,
NULL,
3,
(BYTE**)&buff,
2048,
&read,
&total,
&resumeh );


if ( rc != ERROR_MORE_DATA && rc != ERROR_SUCCESS )
break;


for ( i = 0, curf = buff; i < read; ++ i, ++ curf )
{
printf( "%-12S %-15S \n",
curf->fi3_username, curf->fi3_pathname
);

}
if ( buff != NULL )
NetApiBufferFree( buff );

} while ( rc == ERROR_MORE_DATA );

if ( rc != ERROR_SUCCESS ) PrintError( rc );

}


netbios api

共享文件需要用户名和密码
DWORD WNetAddConnection2(
LPNETRESOURCE lpNetResource, // connection details
LPCTSTR lpPassword, // password
LPCTSTR lpUsername, // user name
DWORD dwFlags // connection options
);
  • 打赏
  • 举报
回复
gjd111686 2004-04-30
net use就可以
  • 打赏
  • 举报
回复
醉马不肖 2004-04-30
学习
  • 打赏
  • 举报
回复
说错了,是Net Manage函数组好像

Win9X的例子:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/netmgmt/netmgmt/netshareadd_sample_windows_95_98_me_.asp

这个好像是WinNT的吧,你看看:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcsample98/html/vcsmpnetshare.asp
  • 打赏
  • 举报
回复
相关推荐
发帖
VC/MFC
加入

1.6w+

社区成员

VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
申请成为版主
帖子事件
创建了帖子
2004-04-30 12:44
社区公告

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