From progress kb 21529
/* Example of creating and reading registry keys */
/* Using LOAD and UNLOAD */
/* This example creates a key named */
/* Clue\TEMP-PRGM\DATA under HKEY_LOCAL_MACHINE\PSC\ */
/* and places some value into it. Then, it reads */
/* the value and displays it. */
FUNCTION getData RETURNS CHARACTER ().
DEF VAR DATA AS CHARACTER NO-UNDO.
LOAD "SOFTWARE" BASE-KEY "HKEY_LOCAL_MACHINE".
USE "SOFTWARE".
GET-KEY-VALUE SECTION "PSC\Clue\TEMP-PRGM"
KEY "DATA"
VALUE DATA.
UNLOAD "SOFTWARE".
RETURN (DATA).
END FUNCTION.
FUNCTION makeClue RETURN CHARACTER ().
LOAD "SOFTWARE" BASE-KEY "HKEY_LOCAL_MACHINE".
USE "SOFTWARE".
PUT-KEY-VALUE SECTION "PSC\Clue\TEMP-PRGM"
KEY "DATA"
VALUE "Here, this is the value in the registry".
UNLOAD "SOFTWARE".
RETURN ("Made Clue").
END FUNCTION.
MESSAGE makeClue() VIEW-AS ALERT-BOX.
MESSAGE getData() VIEW-AS ALERT-BOX.WME('Notes: ');