Windows 操作系統(tǒng)提供不同的用戶賬戶,所以每個用戶可以登錄到系統(tǒng)中并具有對他們的文件和設(shè)置的訪問權(quán)。如果想要跟蹤哪個用戶運行了一個 Visual Basic 6 程序,那么你就需要確定當(dāng)前用戶的名稱然后將其以某種方式存儲起來。這個技巧將告訴你如何去實現(xiàn)這一需要。 API 函數(shù)GetUserName就是專門為這一用途而設(shè)計的。該函數(shù)的聲明為: Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" _ 第一個參數(shù)是一個字符串,用來返回用戶名;第二個參數(shù)是一個數(shù)字,表示返回的字符串的長度。在函數(shù)成功時返回值是非零(True),失敗時返回值為0(False)。我還從來沒有碰到過個函數(shù)失敗的情況,所以我總是忽略檢查返回值。 要使用這個函數(shù),你必須創(chuàng)建一個字符串并用空格填充該字符串。空格的數(shù)目由字符串的長度確定,也就是能作為用戶名返回的字符串的最大長度。因為人們從來不選擇長用戶名,所以我發(fā)現(xiàn)40個字符長就足夠用了。下面是代碼。 Dim UserName As String 然而就是簡單地調(diào)用GetUserName函數(shù),如下所示: GetUserNameUserName, Len(UserName) 在這個調(diào)用之后,變量UserName將包含當(dāng)前用戶的名稱。在需要時你可以在程序中使用這個方法(例如,將其存儲到一個日志文件或者存儲到注冊表中以跟蹤誰在使用這個程序)。 |
溫馨提示:喜歡本站的話,請收藏一下本站!