Kbase P6198: How to Call WIN32 API Function: GetUserName
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  10/15/2008 |
|
Status: Verified
GOAL:
How to Call WIN32 API Function: GetUserName
FIX:
The following sample code shows how to call the Win32 API function called GetUserName.
This function returns the UserID used to logon to Windows.
This code has been tested on Windows NT 4.0 Workstation only.
DEFINE VARIABLE chrUserID AS CHARACTER NO-UNDO.
DEFINE VARIABLE intResult AS INTEGER NO-UNDO.
DEFINE VARIABLE intSize AS INTEGER NO-UNDO.
PROCEDURE GetUserNameA EXTERNAL "ADVAPI32.DLL":
DEFINE OUTPUT PARAMETER chrUserID AS CHARACTER NO-UNDO.
DEFINE INPUT-OUTPUT PARAMETER intBufferSize AS LONG NO-UNDO.
DEFINE RETURN PARAMETER intResult AS SHORT NO-UNDO.
END PROCEDURE.
ASSIGN chrUserID = FILL(' ',256)
intSize = 255.
RUN GetUserNameA (OUTPUT chrUserID,
INPUT-OUTPUT intSize,
OUTPUT intResult).
IF intResult = 1 THEN
MESSAGE "Logon ID = " TRIM(chrUserID) VIEW-AS ALERT-BOX.
ELSE
MESSAGE "Buffer Was Not Large Enough" VIEW-AS ALERT-BOX.