当前位置: 首页 > 编程语言 > C#

枚举网络会话Share

时间:2023-04-11 11:39:59 C#

枚举网络会话我想从计算机管理->共享文件夹->会话选项卡中提取有关已连接网络用户的数据到我的c#应用程序中。谁能指导我必须使用哪些名称空间以及一些示例代码以从计算机管理->共享文件夹->会话选项卡导入用户名和IP地址?此致您需要NetSessionEnum,它:提供有关在服务器上建立的会话的信息。当通过502级别时,它将返回一个数组:...计算机的名称;用户名;打开计算机上的文件、管道和设备;以及客户端正在使用的传输名称。幸运的是,pinvoke.net具有必要的签名甚至一些示例代码。这是一个功能齐全的示例:publicclassProgram{publicvoidMain(string[]args){IntPtrpSessionInfo;IntPtrpResumeHandle=IntPtr.Zero;UInt32entriesRead,totalEntries;varnetStatus=NativeMethods.NetSessionEnum(null,//localcomputernull,//clientnamenull,//username502,//includeallinfooutpSessionInfo,//指向SESSION_INFO_502[]NativeMethods.MAX_PREFERRED_LENGTH,outentriesRead,outtotalEntries,参考pResumeHandle);尝试{if(netStatus!=NativeMethods.NET_API_STATUS.NERR_Success){thrownewInvalidOperationException(netStatus.ToString());}Console.WriteLine("Read{0}of{1}entries",entriesRead,totalEntries);for(inti=0;计算机设法进行交互,并且您想调用它所做的相同功能,并从循环中删除中间人。要查找当前网络连接,您可能正在寻找WNetOpenEnum或NetConnectionEnum我认为BCL中没有这样的.NET功能,您必须使用p/invoke或查找第3方库(或我个人最喜欢的,使用C++/WrapperwrittenbyCLI)以上是C#学习教程:枚举网络会话共享的所有内容。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:

最新推荐
猜你喜欢