zoukankan      html  css  js  c++  java
  • 枚举当前系统用户(使用NetUserEnum API枚举)

    using System.Runtime.InteropServices;
     
    [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
    public struct USER_INFO_0
    {
        public string Username;
    }
     
    [DllImport("Netapi32.dll")]
    extern static int NetUserEnum(
        [MarshalAs(UnmanagedType.LPWStr)]
        string servername,
        int level,
        int filter,
        out IntPtr bufptr,
        int prefmaxlen,
        out int entriesread,
        out int totalentries,
        out int resume_handle);
     
    [DllImport("Netapi32.dll")]
    extern static int NetApiBufferFree(IntPtr Buffer);
     
    private void button1_Click(object senderEventArgs e)
    {
        int EntriesRead;
        int TotalEntries;
        int Resume;
        IntPtr bufPtr;
     
        NetUserEnum(null02out bufPtr, -1out EntriesRead,
            out TotalEntries, out Resume);
        if (EntriesRead > 0)
        {
            USER_INFO_0[] Users = new USER_INFO_0[EntriesRead];
            IntPtr iter = bufPtr;
            for (int i = 0; i < EntriesRead; i++)
            {
                Users[i] = (USER_INFO_0)Marshal.PtrToStructure(iter,
                    typeof(USER_INFO_0));
                iter = (IntPtr)((int)iter + Marshal.SizeOf(typeof(USER_INFO_0)));
                textBox1.AppendText(Users[i].Username + "/r/n");
            }
            NetApiBufferFree(bufPtr);
        }
    }

    http://blog.csdn.net/zswang/article/details/1576495

  • 相关阅读:
    误区30日谈25-30
    误区30日谈21-24
    误区30日谈16-20
    误区30日谈11-15
    误区30日谈6-10
    eclipse如何导入java项目文件
    Spring配置bean文件的底层实现方式
    hibernate中get,load,list,iterate的用法及比较
    MySQL数据库的事务管理
    单元格样式
  • 原文地址:https://www.cnblogs.com/findumars/p/6347943.html
Copyright © 2011-2022 走看看