Using utility functions to manage information

The utility functions provide a way to obtain and pass Windows information to external functions and can be used as arguments in the PowerScript Send function. Table 21-1 describes the PowerScript utility functions.

Five utility functions

Table 21-1: Utility functions

Function

Return value

Purpose

Handle

UnsignedInt

Returns the handle to a specified object.

IntHigh

UnsignedInt

Returns the high word of the specified Long value.

IntHigh is used to decode Windows values returned by external functions or the LongParm attribute of the Message object.

IntLow

UnsignedInt

Returns the low word of the specified Long value.

IntLow is used to decode Windows values returned by external functions or the LongParm attribute of the Message object.

Long

Long

Combines the low word and high word into a Long.

The Long function is used to pass values to external functions.

LongLong

LongLong

Combines the low word and high word into a LongLong.

The LongLong function is used to pass values to external functions.

Examples

This script uses the external function IsZoomed to test whether the current window is maximized. It uses the Handle function to pass a window handle to IsZoomed. It then displays the result in a SingleLineEdit named sle_output:

boolean Maxed
Maxed = IsZoomed(Handle(parent))
if Maxed then sle_output.Text = "Is maxed"
if not Maxed then sle_output.Text = "Is normal"

This script passes the handle of a window object to the external function FlashWindow to change the title bar of a window to inactive and then active:

// Declare loop counter and handle to window object
int  nLoop
uint hWnd
// Get the handle to the PowerBuilder window.
hWnd = handle(This)
// Make the title bar inactive.
FlashWindow (hWnd, TRUE)
//Wait ...
For nLoop = 1 to 300
Next
// Return the title bar to its active color.
FlashWindow (hWnd, FALSE)