如何用API函数实现网上邻居的功能?
2005-03-14 11:20
381 查看
粗略如下:每台机子启动以后,广播他已经启动的消息,其他启动的机子通过他的数据包获得主机名和域名,同时标识其机。
每台机子建立一个共享文件,记录本机的共享目录,其他网内主机发送请求后,由其权限发出共享目录名。
然后...........
用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
);
每台机子建立一个共享文件,记录本机的共享目录,其他网内主机发送请求后,由其权限发出共享目录名。
然后...........
用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
);
相关文章推荐
- 如何取消访问网上邻居时"记住密码"的I功能
- 如何实现网上实时视频直播的功能
- 如何实现局域网共享与网上邻居安全
- 如何在AODV(NS-2)中实现混杂模式并且实现邻居监测功能
- 如何去实现网上填写调查表自动提示填写出错的功能?
- 转 如何用mt7620方案的rt2860v2驱动实现wifi探针功能,网上能搜到一些方法,但是讲的好模糊?
- 如何在AODV(NS-2)中实现混杂模式并且实现邻居监测功能[转载]
- 如何实现局域网共享与网上邻居安全
- 如何在AODV(NS-2)中实现混杂模式并且实现邻居监测功能
- 如何在vss中实现以下功能?
- 想问一下CU博客的二级域名功能如何实现
- 【腾讯云搜分享】如何实现搜索智能联想(搜索下拉提示)功能
- 如何实现lazyload的图片延迟加载功能(1/2)
- 在Ubuntu 12.04安装和设置Samba实现网上邻居共享
- 如何使用ssh框架实现用户的注销功能
- 即时到帐中如何实现分润功能?
- 如何在开发过程中快速实现页面功能
- winform如何实现上传文件功能?
- 如何在微信公众平台上实现支付功能/微信支付
- 单IP电信服务器如何实现多view功能 推荐