通过IP地址怎样获得windows的共享列表? windows应该有维护自己的共享列表吧?在程序中ping其他机器ping通后,有什么API可以获得其他机器的windows的共享列表(不用WNet函数)? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 简单一些可以直接用命令net use \\ipnet view \\ip查看,命令返回的消息就可以了有相应的api函数 1. 建立空会话WNetAddConnection2(&nr,username,password,0);//nr为NETRESOURCE数据结构的对象;//username为建立空会话的用户名,在此将用户名设置为NULL;//password为登陆密码,在此将密码设置为NULL;2. 撤消空会话WNetCancelConnection2(ipc,0,TRUE);//ipc为TCHAR的指针,我们可以这样获得://swprintf(ipc,_T("\\\\%s\\ipc$"),argv[1]),argv[1]为主机名或地址;3. 探测主机时间nStatus=NetRemoteTOD(server,(PBYTE*)&pBuf);//参数server为主机的名称或地址;//pBuf为TIME_OF_DAY_INFO数据结构的指针;//nStatus为NET_API_STATUS成员;4. 探测操作系统指纹NetServerGetInfo(server,dwLevel,(PBYTE *)&pBuf);//dwLevel为等级数,我们选择的是101级;//pBuf是SERVER_INFO_101数据结构的指针;5. 探测共享列表NetShareEnum(server,dwLevel,(PBYTE *)&pBuf,MAX_PREFERRED_LENGTH,&er,&tr,&resume);//dwLevel的等级数为1级;//pBuf是SHARE_INFO_1数据结构的指针;//MAX_PREFERRED_LENGTH指定返回数据的长度;//er指明返回的实际可以枚举的成员数目;//tr返回所有的成员数目;//resume用于继续进行共享搜索;6. 探测用户列表NetQueryDisplayInformation(server,dwLevel,i,100,0xFFFFFFFF,&dwRec,(PVOID *)&pBuf);//dwLevel的等级数为1级;//i为枚举的索引;//dwRec返回获取的信息数目;//pBuf为NET_DISPLAY_USER数据结构的指针;7. 探测本地组列表NetLocalGroupEnum(server,dwLevel,(PBYTE *)&pBuf,-1,&er,&tr,&resume);//dwLevel的等级是1;//pBuf返回LOCALGROUP_INFO_1数据结构的指针;8. 探测组列表NetQueryDisplayInformation(server,dwLevel,i,100,0xFFFFFFFF,&dwRec,(PVOID*)&pGBuf);//dwLevel的等级为3;//pGBuf返回NET_DISPLAY_GROUP的数据结构指针;9. 探测组内的用户NetGroupGetUsers(server,pGBuffer->grpi3_name,0,(PBYTE *)&pUBuf,MAX_PREFERRED_LENGTH,&er,&tr,&resume);//pGBuffer->grpi3_name为组的名称;//pUBuf返回GROUP_USERS_INFO_0数据结构的指针;10.探测传输协议列表NetServerTransportEnum(server,dwLevel,(PBYTE *)&pBuf,MAX_PREFERRED_LENGTH,&er,&tr,&resume);//dwLevel的等级为0级;//pBuf返回SERVER_TRANSPORT_INFO_0数据结构的指针;11.探测会话列表NetSessionEnum(server,pszClient,pszUser,dwLevel,(PBYTE *)&pBuf,MAX_PREFERRED_LENGTH,&er,&tr,&resume);//pszClient指定客户的地址;//pszUser指定用户名;//dwLevel的等级是10级;//pBuf返回SESSION_INFO_10数据结构的指针;12.释放内存NetApiBufferFree(pBuf);//释放由系统分配的内存空间。 我不明白的是,共享资源究竟指的是什么?例如用net view显示共享资源列表,为什么只显示共享的文件夹,文件夹里的东西不算共享资源吗? 透明按钮不透明 如何得到LPWSTR类型字符串的长度 一个关于.dsw文件的问题!!! 关于POST提交接收返回数据的C代码问题 怎么让VC开发环境中的提示窗口重现,百分相赠。 借我一双慧眼吧!!(一个应届毕业生关于软件开发的方向选择的问题) 请教:怎样辨别DDR内存的真伪?现代内存条。 为什么用LoadString函数加载字符串表中的字符串时,字符串长度受限? 求救!!!yamaha 719e-s声卡驱动程序!!! 到底怎么修改PE文件啊??各位高人赶快现身吧,我只能给24分 高分求解!!!!!关于在图片控件中显示bmp图象的问题!!!!!!!!!!!!!!! 请教一个关于文件传输的问题!
net use \\ip
net view \\ip
查看,命令返回的消息就可以了
有相应的api函数
WNetAddConnection2(&nr,username,password,0);
//nr为NETRESOURCE数据结构的对象;
//username为建立空会话的用户名,在此将用户名设置为NULL;
//password为登陆密码,在此将密码设置为NULL;2. 撤消空会话
WNetCancelConnection2(ipc,0,TRUE);
//ipc为TCHAR的指针,我们可以这样获得:
//swprintf(ipc,_T("\\\\%s\\ipc$"),argv[1]),argv[1]为主机名或地址;3. 探测主机时间
nStatus=NetRemoteTOD(server,(PBYTE*)&pBuf);
//参数server为主机的名称或地址;
//pBuf为TIME_OF_DAY_INFO数据结构的指针;
//nStatus为NET_API_STATUS成员;4. 探测操作系统指纹
NetServerGetInfo(server,dwLevel,(PBYTE *)&pBuf);
//dwLevel为等级数,我们选择的是101级;
//pBuf是SERVER_INFO_101数据结构的指针;5. 探测共享列表
NetShareEnum(server,dwLevel,(PBYTE *)&pBuf,MAX_PREFERRED_LENGTH,&er,&tr,&resume);
//dwLevel的等级数为1级;
//pBuf是SHARE_INFO_1数据结构的指针;
//MAX_PREFERRED_LENGTH指定返回数据的长度;
//er指明返回的实际可以枚举的成员数目;
//tr返回所有的成员数目;
//resume用于继续进行共享搜索;6. 探测用户列表
NetQueryDisplayInformation(server,dwLevel,i,100,0xFFFFFFFF,&dwRec,(PVOID *)&pBuf);
//dwLevel的等级数为1级;
//i为枚举的索引;
//dwRec返回获取的信息数目;
//pBuf为NET_DISPLAY_USER数据结构的指针;7. 探测本地组列表
NetLocalGroupEnum(server,dwLevel,(PBYTE *)&pBuf,-1,&er,&tr,&resume);
//dwLevel的等级是1;
//pBuf返回LOCALGROUP_INFO_1数据结构的指针;8. 探测组列表
NetQueryDisplayInformation(server,dwLevel,i,100,0xFFFFFFFF,&dwRec,(PVOID*)&pGBuf);
//dwLevel的等级为3;
//pGBuf返回NET_DISPLAY_GROUP的数据结构指针;9. 探测组内的用户
NetGroupGetUsers(server,pGBuffer->grpi3_name,0,(PBYTE *)&pUBuf,MAX_PREFERRED_LENGTH,&er,&tr,&resume);
//pGBuffer->grpi3_name为组的名称;
//pUBuf返回GROUP_USERS_INFO_0数据结构的指针;10.探测传输协议列表
NetServerTransportEnum(server,dwLevel,(PBYTE *)&pBuf,MAX_PREFERRED_LENGTH,&er,&tr,&resume);
//dwLevel的等级为0级;
//pBuf返回SERVER_TRANSPORT_INFO_0数据结构的指针;11.探测会话列表
NetSessionEnum(server,pszClient,pszUser,dwLevel,(PBYTE *)&pBuf,MAX_PREFERRED_LENGTH,&er,&tr,&resume);
//pszClient指定客户的地址;
//pszUser指定用户名;
//dwLevel的等级是10级;
//pBuf返回SESSION_INFO_10数据结构的指针;12.释放内存
NetApiBufferFree(pBuf);
//释放由系统分配的内存空间。