获取网络上的用户名
【打印文章】
文/蒋清野
某本地设备通过某种方式与网络连接。通过FoxPro程序获取本地用户登陆网络时使用的用户名。这时候本地设备与网络之间的连接必须是存在的。
方案1:利用WNetGetUser函数
DECLARE INTEGER WNetGetUser IN Win32API STRING lpName, STRING @lpUserName,INTEGER @lpnLength
szUserName = SPACE(80)
dwResult = 0
cchBuff = 80
dwResult = WNetGetUser("", @szUserName, @cchBuff)
?substr(szUsername,1,atc(chr(0),szUsername)-1)
?cchBuff
方案2:利用SYS(0)函数
IF allt(substr(sys(0),rat("#",sys(0))+2)) > "1" and
!empty(allt(substr(sys(0),rat("#",sys(0))+2)))
gcUserName = allt(substr(sys(0),rat("#",sys(0))+2))
ELSE
gcUserName = "NotConnected"
ENDIF
事实上,在某些内置了网络功能的PC机(如运行Windows 98的PC机)上,运行以上两个方案都将返回正在使用本机的用户名。
某本地设备通过某种方式与网络连接。通过FoxPro程序获取本地用户登陆网络时使用的用户名。这时候本地设备与网络之间的连接必须是存在的。
方案1:利用WNetGetUser函数
DECLARE INTEGER WNetGetUser IN Win32API STRING lpName, STRING @lpUserName,INTEGER @lpnLength
szUserName = SPACE(80)
dwResult = 0
cchBuff = 80
dwResult = WNetGetUser("", @szUserName, @cchBuff)
?substr(szUsername,1,atc(chr(0),szUsername)-1)
?cchBuff
方案2:利用SYS(0)函数
IF allt(substr(sys(0),rat("#",sys(0))+2)) > "1" and
!empty(allt(substr(sys(0),rat("#",sys(0))+2)))
gcUserName = allt(substr(sys(0),rat("#",sys(0))+2))
ELSE
gcUserName = "NotConnected"
ENDIF
事实上,在某些内置了网络功能的PC机(如运行Windows 98的PC机)上,运行以上两个方案都将返回正在使用本机的用户名。
本栏文章均来自于互联网,版权归原作者和各发布网站所有,本站收集这些文章仅供学习参考之用。任何人都不能将这些文章用于商业或者其他目的。( Pfan.cn )
【编程爱好者论坛】