c# 根据NetServerEnum可以获取IP Mac么 目前可以获取机器名

wawd74520 2012-08-03 10:37:08
下面是我的获取机器名的代码,我还想获取IP和MAC
arp就算了----用过 得循环扫描
nbtstat也算了----用过 得循环扫描
用机器名获取IP ping 也算了。如果机器wins有问题是获取不到的

class NetApi
{
[DllImport("Netapi32.dll", EntryPoint = "NetServerEnum")]
public static extern Int32 NetServerEnum(
[MarshalAs(UnmanagedType.LPWStr)] String serverName,
Int32 level,
out IntPtr bufferPtr,
UInt32 prefMaxLen,
ref Int32 entriesRead,
ref Int32 totalEntries,
UInt32 serverType,
[MarshalAs(UnmanagedType.LPWStr)] String domain,
IntPtr handle);
[DllImport("Netapi32.dll", EntryPoint = "NetApiBufferFree")]
public static extern UInt32 NetApiBufferFree(IntPtr buffer);
}
class EnumerateLanMachines
{
public const UInt32 SUCCESS = 0;
public const UInt32 FAIL = 234;
public const UInt32 MAX_PREFERRED_LENGTH = 0xFFFFFFFF;
enum ServerTypes : uint
{
WorkStation = 0x00000001,
Server = 0x00000002
}
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Auto)]
public struct MachineInfo
{
[MarshalAs(UnmanagedType.U4)]
public UInt32 platformId;
[MarshalAs(UnmanagedType.LPWStr)]
public String serverName;
}
public enum Platform
{
PLATFORM_ID_DOS = 300,
PLATFORM_ID_OS2 = 400,
PLATFORM_ID_NT = 500,
PLATFORM_ID_OSF = 600,
PLATFORM_ID_VMS = 700
}

public void enumerateMachines()
{
IntPtr buffer = new IntPtr();
int totalEntries = 0;
int entriesRead = 0;
int result;
result = NetApi.NetServerEnum(null, 100, out buffer, MAX_PREFERRED_LENGTH, ref entriesRead, ref totalEntries, (uint)ServerTypes.WorkStation, null, IntPtr.Zero);

MachineInfo machineInfo;

if (result != FAIL)
{
Console.WriteLine("Succeeded!");
Console.WriteLine(entriesRead);
for (int i = 0; i < entriesRead; ++i)
{
machineInfo = (MachineInfo)Marshal.PtrToStructure(buffer, typeof(MachineInfo));
//machines.Add ( machineInfo );
Console.WriteLine(machineInfo.serverName);
buffer = (IntPtr)((ulong)buffer + (ulong)Marshal.SizeOf(machineInfo));
}
NetApi.NetApiBufferFree(buffer);
}
}
}

public static void Main()
{
EnumerateLanMachines enumerate = new EnumerateLanMachines();
enumerate.enumerateMachines();
Console.ReadLine();
}

求解

...全文
215 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
「已注销」 2012-08-04
  • 打赏
  • 举报
回复
来个淫吧。安门。
「已注销」 2012-08-03
  • 打赏
  • 举报
回复
刚刚不知道怎么回事。管理员删了围观的亲们
请再次留言。。。以便结贴时放分
「已注销」 2012-08-03
  • 打赏
  • 举报
回复
第一次发帖。不知道怎么弄。希望围观大哥大姐都来帮帮忙
「已注销」 2012-08-03
  • 打赏
  • 举报
回复
群观围观都有分
答案满意追加
亲。。。求解哈
内容概要:本文研究了基于DPWMA调制与正负序分离的ANPC三电平并网逆变器前馈控制策略,旨在解决传统三电平逆变器存在的谐波含量高、电网不平衡工况适应性差及动态响应速度不足等问题。通过采用有源中点箝位(ANPC)三电平逆变器拓扑,结合双极性倍频脉宽调制(DPWMA)、正负序分离锁相技术和电网电压前馈控制,构建了一套一体化的高性能并网控制体系。该体系不仅优化了逆变器的开关动作机制,改善了输出电压电流的谐波特性,而且通过精确的相位同步和扰动补偿,显著提高了系统的动态响应能力和抗扰性能。仿真结果显示,所提出的控制策略能有效降低并网谐波含量,提升锁相精度与系统动态稳定性,确保在复杂电网工况下的高质量稳定并网。 适合人群:具备一定电力电子基础知识和仿真技能的研发人员,尤其是从事新能源发电、储能系统、柔性输电等领域研究的专业人士。 使用场景及目标:①研究和开发高性能并网逆变器,特别是针对大功率、高电能质量要求的应用场景;②探索如何通过先进的调制和控制策略来提高并网逆变器对电网扰动的适应性和响应速度;③为相关领域的学术研究和技术开发提供理论依据和实践指导。 阅读建议:建议读者结合实际的仿真软件(如MATLAB/Simulink)进行实践操作,以便更好地理解和掌握文中提到的各种控制策略的具体实现方法。同时,鼓励读者关注最新的研究成果和发展趋势,不断深化对该领域的认识。

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧