獲取網(wǎng)絡(luò)上的用戶名

字號:

某本地設(shè)備通過某種方式與網(wǎng)絡(luò)連接。通過FoxPro程序獲取本地用戶登陸網(wǎng)絡(luò)時(shí)使用的用戶名。這時(shí)候本地設(shè)備與網(wǎng)絡(luò)之間的連接必須是存在的。
    方案1:利用WNetGetUser函數(shù)
    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)函數(shù)
    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
    事實(shí)上,在某些內(nèi)置了網(wǎng)絡(luò)功能的PC機(jī)(如運(yùn)行Windows 98的PC機(jī))上,運(yùn)行以上兩個(gè)方案都將返回正在使用本機(jī)的用戶名。