GetUserName

GetUserName是一個函式。

基本介紹

  • 中文名:GetUserName
  • lpBuffer:PChar; {緩衝區}
  • varnSize:DWORD {緩衝區大小}
  • 作用:用戶許可權
概述,聲明,定義,說明,返回值,參數表,註解,例子,參考資料,

概述

隨著系統安全性的加強,每個系統里越來越多不同的帳號登錄。假如你正在開發一個上網安全軟體,讓不同的用戶有不同的上網許可權,這樣就需要識別當前的用戶是什麼帳號登錄了,然後再作出許可權分配。還有出錯時,也需要對當前帳號進行記錄下來,因為不同的帳號有不同的許可權,有些磁碟是不允許操作的。面對這些需求,就需要使用函式GetUserName。

聲明

VB聲明
Declare Function GetUserName Lib "advapi32.dll " Alias "GetUserNameA " (ByVal lpBuffer As String, nSize As Long) As Long

定義

GetUserName(
lpBuffer: PChar; {緩衝區}
var nSize: DWORD {緩衝區大小}
): BOOL;
WINADVAPI BOOL WINAPI GetUserNameA (
__out_ecount_part(*pcbBuffer, *pcbBuffer) LPSTR lpBuffer,
__inout LPDWORD pcbBuffer
);
#ifdef UNICODE
#define GetUserName GetUserNameW
#else
#define GetUserName GetUserNameA
#endif // !UNICODE

說明

取得當前用戶的名字

返回值

Long,TRUE(非零)表示成功,否則返回零。會設定GetLastError

參數表

參數 類型及說明
lpBuffer String,一個字串緩衝區,預先初始化成由nSize指定的長度。它將用於容納用戶名,是獲取名稱緩衝區。
nSize Long,初始化成lpBuffer的長度。返回以後,它會包含載入lpBuffer的字元數量 ,是緩衝區的大小和返回帳號的大小。

註解

1、lpBuffer和nSize需要賦初值。
2、庫名:advapi32.dll
3、分類:硬體與系統函式
4、Long,TRUE(非零)表示成功,否則返回零。會設定GetLastErrorlpBuffer(String),一個字串緩衝區,預先初始化成由nSize指定的長度。它將用於容納用戶名
nSize Long,初始化成lpBuffer的長度。返回以後,它會包含載入lpBuffer的字元數量

例子

Dim s$, cnt&, dl&
cnt& = 199
s$ = String$(200,0)
dl& = GetUserName(s$, cnt)
Debug.Print Left$(s$, cnt); cnt
例一:
var
arr: array[0..254] of Char;
d: DWORD;
begin
d := SizeOf(arr);
GetUserName(arr, d);
ShowMessage(arr);  {wy}
end;
例二:
var
p: PChar;
num: DWORD;
begin
num := 0;
GetUserName(nil, num);
ShowMessage(IntToStr(num));
GetMem(p, num);
GetUserName(p, num);
ShowMessage(p);  {wy}
FreeMem(p);
end;
例三:
var
p: PChar;
num: DWORD;
begin
num := 0;
GetUserName(nil, num);
p := StrAlloc(num);
if GetUserName(p,num) then
ShowMessage(p) {wy}
else ShowMessage(‘無‘);
StrDispose(p);
end;
例四:如何獲得當前Windows登錄的用戶名?
Private Sub Form_Load()
Dim s As String,cnt As Long ,dl As Long,CurUser As String cnt = 199
s = String$(200, 0)
dl = GetUserName(s, cnt)
Debug.Print(dl <> 0,"當前用戶=" & Left$(s,cnt),"當前用戶=")
End Sub

參考資料

1、《MSDN》
2、書庫亞洲(shuku asia)編程頻道
3、書庫亞洲知識中心

相關詞條

熱門詞條

聯絡我們