获取网络上的用户名
本地设备以某种方式连接到网络。通过FoxPro程序获取本地用户登录网络时使用的用户名。此时,本地设备和网络之间的连接必须存在。
方案1:使用WNetGetUser函数
在Win32API中声明整数WNetGetUser STRING LP name,STRING @lpUserName,INTEGER @ lpn length
SZ username = SPACE(80)
dw result = 0
CCH buff = 80
dw result = WNetGetUser(",@szUserName,@cchBuff)
?substr(szUsername,1,atc(chr(0),szUsername)-1)
?cchBuff
方案二:使用SYS(0)函数
if all (substr (sys (0),rat ("# ",sys (0))+2) > "1" and
!empty(allt(substr(sys(0),rat("# ",sys(0))+2)))
GC username = allt(substr(sys(0),rat("# ",sys(0))+2))
ELSE
GC username = " not connected "
ENDIF
事实上,在一些内置网络功能的PC上(如运行Windows 98的PC),运行上述两种方案都会返回正在使用的计算机的用户名。
0条评论