Calling FindExecutable Wndows API from Progress

Chris Kelleher

Administrator
Staff member
<BLOCKQUOTE><font size="1" face="Arial, Verdana">code:</font><HR><pre>/* FindExecutable.p */

DEFINE VARIABLE chrFile AS CHARACTER NO-UNDO.
DEFINE VARIABLE chrDirectory AS CHARACTER NO-UNDO.
DEFINE VARIABLE chrResult AS CHARACTER NO-UNDO.
DEFINE VARIABLE intRC AS INTEGER NO-UNDO.

PROCEDURE FindExecutableA EXTERNAL 'SHELL32.DLL':
DEFINE INPUT PARAMETER chrFile AS CHARACTER NO-UNDO.
DEFINE INPUT PARAMETER chrDirectory AS CHARACTER NO-UNDO.
DEFINE INPUT-OUTPUT PARAMETER chrResult AS CHARACTER NO-UNDO.
DEFINE RETURN PARAMETER intRC AS LONG NO-UNDO.
END PROCEDURE.

ASSIGN chrFile = 'C:\Dmitri\doc.doc'
chrResult = FILL(' ', 255).

RUN FindExecutableA(INPUT chrFile,
INPUT chrDirectory,
INPUT-OUTPUT chrResult,
OUTPUT intRC).

IF intRC > 32 THEN
MESSAGE 'Executable Name = ' TRIM(chrResult) VIEW-AS ALERT-BOX.
ELSE
IF intRC = 31 THEN
MESSAGE 'No Associated Executable Found' VIEW-AS ALERT-BOX.
ELSE
MESSAGE 'Some Other Error Found' VIEW-AS ALERT-BOX.

[/code]
 
Top