易语言取系统所有用户信息源码
系统结构:取所有用户,getUserNetworkInfo,getPointerToByteStringA,Unicode转Ansi,Ansi转Unicode,rgbGetComputerName,API_NetUserEnum,API_NetUserGetInfo,API_CopyMemory,API_GetComputerName,API_GetUserName,API_NetApiBufferFree,API_lstrlen,API_lstrlenW,API_WideCharToMultiByte,API_MultiByteToWideChar,API_LocalSize_user_info_10,
======程序集1
| |
| |------ _启动子程序
| |
| |------ 取所有用户
| |
| |------ getUserNetworkInfo
| |
| |
======helper
| |
| |------ getPointerToByteStringA
| |
| |------ Unicode转Ansi
| |
| |------ Ansi转Unicode
| |
| |------ rgbGetComputerName
| |
| |
======调用的Dll
| |
| |---[dll]------ API_NetUserEnum
| |
| |---[dll]------ API_NetUserGetInfo
| |
| |---[dll]------ API_CopyMemory
| |
| |---[dll]------ API_GetComputerName
| |
| |---[dll]------ API_GetUserName
| |
| |---[dll]------ API_NetApiBufferFree
| |
| |---[dll]------ API_lstrlen
| |
| |---[dll]------ API_lstrlenW
| |
| |---[dll]------ API_WideCharToMultiByte
| |
| |---[dll]------ API_MultiByteToWideChar
| |
| |---[dll]------ API_LocalSize_user_info_10
调用的DLL命令:
.DLL命令 API_NetUserEnum, 整数型, "NETAPI32.DLL", "NetUserEnum", ,
.参数 servername, 文本型, 传址
.参数 level, 整数型
.参数 filter, 整数型
.参数 bufptr, 整数型, 传址
.参数 prefmaxlen, 整数型
.参数 entriesread, 整数型, 传址
.参数 totalentries, 整数型, 传址
.参数 resume_handle, 整数型, 传址
.DLL命令 API_NetUserGetInfo, 整数型, "NETAPI32.DLL", "NetUserGetInfo", ,
.参数 servername, 文本型, 传址
.参数 userName, 字节集, 传址
.参数 level, 整数型
.参数 bufptr, 整数型, 传址
.DLL命令 API_CopyMemory, , "kernel32", "RtlMoveMemory", ,
.参数 pDest, 整数型
.参数 pSrc, 整数型
.参数 ByteLen, 整数型
.DLL命令 API_GetComputerName, 整数型, "kernel32", "GetComputerNameA", , 取得这台计算机的名称 TRUE(非零)表示成功,否则返回零。会设置GetLastError
.参数 lpBuffer, 文本型, , 随同计算机名载入的字串缓冲区
.参数 nSize, 整数型, 传址, 缓冲区的长度。这个变量随同返回计算机名的实际长度载入 示例Dim s$s$ = Dim dl&Dim sz&sz& = MAX_COMPUTERNAME_LENGTH+1dl& = GetComputerName(s$, sz)其他也许你会发现,MAX_COMPUTERNAME_LENGTH常数在vb自带的api文本查看器中找不到。的确,我也没有找到。但我有一个工具:Listapi,这个常数在它那里可以找到;
.DLL命令 API_GetUserName, 整数型, "advapi32.dll", "GetUserNameA", , 取得当前用户的名字 TRUE(非零)表示成功,否则返回零。会设置GetLastError
.参数 lpBuffer, 文本型, , 一个字串缓冲区,预先初始化成由nSize指定的长度。它将用于容纳用户名
.参数 nSize, 整数型, , 初始化成lpBuffer的长度。返回以后,它会包含载入lpBuffer的字符数量示例Dim s$, cnt&, dl&cnt& = 199s$ = dl& = GetUserName(s$, cnt)Debug.Print Left; cnt;
.DLL命令 API_NetApiBufferFree, 整数型, "NETAPI32.DLL", "NetApiBufferFree", ,
.参数 Buffer, 整数型
.DLL命令 API_lstrlen, 整数型, "kernel32", "lstrlenA", , 返回字符串中字符数
.参数 lpString, 整数型
.DLL命令 API_lstrlenW, 整数型, "kernel32", "lstrlenW", , 返回字符串中字符数
.参数 lpString, 整数型
.DLL命令 API_WideCharToMultiByte, 整数型, "kernel32", "WideCharToMultiByte"
.参数 CodePage, 整数型
.参数 dwFlags, 整数型
.参数 lpWideCharStr, 字节集
.参数 cchWideChar, 整数型
.参数 lpMultiByteStr, 文本型
.参数 cchMultiByte, 整数型
.参数 lpDefaultChar, 整数型
.参数 lpUsedDefaultChar, 整数型
.DLL命令 API_MultiByteToWideChar, 整数型, "kernel32", "MultiByteToWideChar", , 将多媒体字符串映像为通配字符串
.参数 CodePage, 整数型
.参数 dwFlags, 整数型
.参数 lpMultiByteStr, 文本型
.参数 cchMultiByte, 整数型
.参数 lpWideCharStr, 字节集
.参数 cchWideChar, 整数型
.DLL命令 API_LocalSize_user_info_10, 整数型, "kernel32", "LocalSize", , 返回本地内存块大小
.参数 hMem, USER_INFO_10
注:本站源码主要来源于网络收集。如有侵犯您的利益,请联系我们,我们将及时删除!
部分源码可能含有危险代码,(如关机、格式化磁盘等),请看清代码在运行。
由此产生的一切后果本站均不负责。源码仅用于学习使用,如需运用到商业场景请咨询原作者。
使用本站源码开发的产品均与本站无任何关系,请大家遵守国家相关法律。