我可以实现获取局域网中机器的ip地址,mac地址,用户名等信息
可是怎么实现获取局域网中机器的共享文件目录,文件等信息啊??
高手求救!!!
可是怎么实现获取局域网中机器的共享文件目录,文件等信息啊??
高手求救!!!
解决方案 »
- mfc菜单打钩问题
- 同步复制
- 注册表里面, "C:\Program\devenv.exe" "%1". %1代表什么
- 怎么样把bmp图片显示在单文档工程的视图中
- 借人气,问问这里的水友,看别人的程序代码有何便捷有效的方法?
- 怎样获得桌面上任意一点的颜色?
- 昨天面试成功了,但公司要我改学ASP,JSP,PHP,但我一点也不会呀,公司要我一个星期后交作品.请各位帮忙.在线等!!
- 我的OnKeyDown怎么死活都不响应啊?
- 一个ISAPI的问题,再线待结!
- 如何在屏幕的用户区刷新指定的一块区域,并在该区域显示一些文字
- 可以一个CRecordSet派生类操作多个表吗?
- 问个问题 怎么样在visual studio.net加入一个库 (比如加:winmm.lib) 最好不是用命令行方式
每台机子建立一个共享文件,记录本机的共享目录,其他网内主机发送请求后,由其权限发出共享目录名。
然后...........用NetServerEnum 列出所有的server
再用NetFileEnum枚举出所有的共享文件。1.#include <Lm.h>
2.project->setting->link->object/library modules 填入 NETAPI32.LIB
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
);