Kbase P122893: How to Call WIN32 API Function: GetShortPathName
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  19/03/2007 |
|
Status: Unverified
GOAL:
How to Call WIN32 API Function: GetShortPathName
GOAL:
How to Call WIN32 API Function: GetShortPathNameA
GOAL:
How to convert a 32-bit Windows file path to 16-bit format
FACT(s) (Environment):
Windows XP
Windows 2003
FIX:
PROCEDURE GetShortPathNameA EXTERNAL "KERNEL32.DLL":
DEFINE INPUT PARAMETER longPath AS CHARACTER.
DEFINE INPUT-OUTPUT PARAMETER shortPath AS MEMPTR.
DEFINE INPUT PARAMETER iBuffer AS LONG.
END PROCEDURE.
DEFINE VARIABLE cLongPath AS CHARACTER NO-UNDO FORMAT "X(256)".
DEFINE VARIABLE cShortPath AS CHARACTER NO-UNDO FORMAT "X(256)".
DEFINE VARIABLE ptrToString AS MEMPTR NO-UNDO.
cLongPath = "C:\Program Files\".
SET-SIZE(ptrToString) = 256.
RUN GetShortPathNameA (INPUT cLongPath,
INPUT-OUTPUT ptrToString,
INPUT LENGTH(cLongPath)).
ASSIGN cShortPath = GET-STRING(ptrToString,1).
SET-SIZE(ptrToString) = 0.
MESSAGE cShortPath
VIEW-AS ALERT-BOX INFO BUTTONS OK.