Consultor Eletrônico



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.