ExeOutput for PHP
  • Discover
    Homepage
    Our Latest News and Articles

    Keep up-to-date with the latest developments, insightful articles.

    Why a PHP Compiler?

    Reasons for using our PHP compiler ExeOutput for PHP.

    Screenshots

    Get a visual tour of our software through various screenshots.

    Video and Screencasts

    Access a range of video content, from detailed tutorials to product demos.

  • Feature Tour
    All-in-one PHP to EXE Compiler
    Use PHP power to create Windows apps
    Full HTML5, JavaScript and CSS3 Support
    Make GUI And Console Apps with PHP
  • Downloads
    Get ExeOutput for PHP

    Download the installer of our PHP to EXE compiler

    PHP App Examples

    Download sample apps made with ExeOutput for PHP

    WordPress Desktop App

    Download the stand-alone WordPress app sample

  • Buy Now
  • Learn
    Documentation

    Full online documentation of ExeOutput for PHP

    PHP App Samples

    Example projects made with ExeOutput for PHP for various cases

    ChangeLog

    Version history and releases of ExeOutput for PHP

    Privacy Policy

    See our Privacy Policy for ExeOutput for PHP

    About Us

    More information about G.D.G. Software

  • Support
    Contact Us

    Contact our staff or open a support ticket

    Newsletter

    Stay Updated: subscribe to our newsletter

    Frequently Asked Questions

    Find your answer directly in our FAQ

    Support Center

    Get direct support for ExeOutput for PHP

    Affiliate Program

    Join our affiliate program to promote ExeOutput and earn money

    Community Forum

    Visit our support forum and ask your questions

Try For Free
My Account

Getting Started

11
  • Welcome to ExeOutput for PHP
  • Getting Started
  • Starting a New Project
  • Advice for Getting Started with PHP Applications
  • How to Compile Your Project
  • How Compiled PHP GUI Applications Work
  • How Compiled PHP Console Applications (CLI) Work
  • Using PHP Frameworks
  • Visual C++ Redistributable Requirement
  • Application Command Line Switches
  • PHP Samples

Working With PHP

12
  • Working with PHP
  • Choose a PHP Version
  • Accessing Files in Compiled PHP Applications
  • Saving Files with PHP in Desktop Applications
  • Solving PHP Errors
  • Using the Save As Dialog Box in PHP Applications
  • Selecting Local Files with PHP (File Upload Replacement)
  • Built-In ExeOutput for PHP Functions
  • About PHP Sessions and Cookies
  • Global Variables
  • Using the cURL Extension
  • Using exec(), system() in Applications

Databases

4
  • Using Databases in Applications
  • MySQL and MariaDB Support
  • Using a Portable MySQL (MariaDB) Server
  • How to Check MySQL Server Connection

JavaScript And Browser

14
  • JavaScript and the Chromium Browser
  • Developer Tools in ExeOutput Applications
  • The exeoutput JavaScript Object API
  • JavaScript window extension
  • Special Protocols for Links
  • HTML5 and CSS3 Support
  • Using HTML5 Video and Audio
  • Print, Kiosk Printing, and PDF
  • Opening New Windows
  • JavaScript window extension
  • Using Flash Objects (SWF) in Compiled Applications
  • Adding Custom Headers to Requests
  • How to Configure Proxy for Your App
  • HTTP Basic Authentication

File Manager

4
  • File Manager
  • File Properties Editor
  • About External Files
  • Internal Code Editor

Application Settings

9
  • Choosing and Configuring the Rendering Engine
  • Chromium Embedded Framework (CEF) Settings
  • WebView2 Rendering Engine Settings
  • Main Window Settings
  • UI Skin Properties
  • Application Components
  • Language and Localization
  • Startup and Exit Messages
  • Application Settings – Dialog Boxes

PHP Settings

7
  • PHP Settings – Main Settings
  • PHP Settings – PHP Extensions
  • PHP.ini Settings
  • PHP Settings – String Protection
  • PHP Settings – PHP Debugging
  • PHP Settings – External HTTP Server
  • Redirection and Routing

User Interface

13
  • User Interface Components
  • User Interface Editor
  • UI Control Actions
  • How to Modify Controls at Runtime
  • Status Bar Properties
  • Printer Properties
  • Tray Icon Properties
  • Context Menu Properties
  • Creating a Ribbon for Your Application
  • Toolbars in Your PHP Application
  • Menu Bar in your PHP application
  • Adding an Image or Logo to the UI
  • Using Timers and Cron Jobs in Your Application

Security

4
  • Security – Global Protection
  • Security – PHP Protection
  • Security – Code Signing (Digital Signatures)
  • Security – Licensing

Application Output

5
  • Application Output Settings
  • Output – Deployment Options
  • Application Loading Screens
  • Output – EXE Icon and Version Information
  • Output – Creating Installers or Zip Archives

Scripting with HEScript

9
  • Introduction to Scripting with HEScript
  • The HEScript Editor
  • Adding HEScript Code to Your Application
  • Script Templates
  • Running and Calling HEScript Procedures/Functions
  • HEScript Function Reference
  • How to Run an Executable Program
  • How to Prompt a User for Their Name Once and Store It
  • How to Call DLL Functions

Additional Information

6
  • Environment Options
  • Technical Notes Regarding Applications
  • Cloning a Project
  • Command Line Options
  • Contact Information
  • About this documentation
View Categories
  • Home
  • ExeOutput for PHP Help
  • Scripting with HEScript
  • HEScript Function Reference

HEScript Function Reference

4 min read

HEScript is specially designed to control application behavior and communicate with the Windows environment.

There are many internal functions that can be called from your HEScript procedures and functions.

Notes:

  • Many internal functions are not listed here, as they may be used, for instance, in system HTML pages. Please ignore them or contact us for more information.
  • You can find additional Object Pascal references at delphibasics.co.uk.

Interface Functions #

Function NameDescription & PrototypeParameters, Example, Remarks
MessageBox Displays a message box (similar to the Windows API MessageBox).

function MessageBox(const Text, Title: String; const Flags: Integer): Integer;

  • Text: The contents of the message box.
  • Title: The title of the message box.
  • Flags: A set of bit flags that determines the contents and behavior of the dialog box. More information here. Can be MB_OK, MB_OKCANCEL, MB_YESNO, etc., combined with MB_ICONSTOP, MB_ICONINFORMATION, etc.
  • Result (Integer): Can be IDOK, IDCANCEL, IDYES, IDNO, etc., depending on the button the user selects.
MessageDlg Displays a themeable message box.

function MessageDlg(const Message, Title: String; DialogType: TMsgDlgType; Buttons: TMsgDlgButtons): Integer;

  • DialogType: Can be mtWarning, mtError, mtInformation, mtConfirmation, or mtCustom.
  • Buttons: A set of flags defining the buttons, e.g., [mbYes, mbNo] or [mbOK].

Note: This function should not be called during the initialization event or when the application exits.

SetUIProp Sets the value of a specified property for a control.

procedure SetUIProp(const id, propname, propval: String);

  • id: Name of the control.
  • propname: Name of the property.
  • propval: The new string value to assign.
GetUIProp Gets the value of a specified property for a control.

function GetUIProp(const id, propname: String): String;

  • result: The string value of the property. An error may occur if the control is not found.
ChangeStatusBar Sets the text of the status bar.

procedure ChangeStatusBar(const Text: String; Reset: Boolean);

  • Reset: If True, this text will be set as the default.
ShowAboutBox Shows the About box.

procedure ShowAboutBox;

ManageWaitForm Shows or hides a “Please wait…” dialog box.

procedure ManageWaitForm(Show: Boolean; Text: String);

  • Show: True to show the dialog box; False to hide it.

After calling ManageWaitForm(True, "..."), you must call ManageWaitForm(False, "...") to hide it.

Navigation Functions #

GoToPage Displays or executes the specified URL.

procedure GoToPage(const Name, Window: String);

  • Name: The partial or full URL to display.
  • Window: For internal use only. Leave empty ("").
ExitPublication Terminates the application.

procedure ExitPublication;

NavigateCommand Executes a standard navigation command.

procedure NavigateCommand(const Command: Integer);

Command can be: 0 (Back), 1 (Forward), 3 (Copy), 4 (Select All), 5 (Paste), 6 (Zoom In), 7 (Zoom Out), 9 (Cut), 10 (View Source), 11 (Delete), 12 (Dev Tools), 13 (Update Preferences).
ExecuteLiveHEScript Compiles and executes HEScript code at runtime.

function ExecuteLiveHEScript(const Code: String): String;

The Code must be a complete block, including begin and end;.
ExecutePHPScript Executes PHP code and optionally returns the output.

function ExecutePHPScript(const PHPCode: String): String;

The PHPCode must include the <?php and ?> tags.
ExecuteHTMLScript Executes a JavaScript function in the current HTML page.

procedure ExecuteHTMLScript(const CommandLine, scriptURL: String);

CommandLine is the script function to call, including arguments.

Management Functions #

SetGlobalVar Sets the value of a global variable.

procedure SetGlobalVar(const Name, Value: String; const IsStored: Boolean);

IsStored: If True, the variable is persistent (saved and restored on next run).
GetGlobalVar Gets the value of a global variable.

function GetGlobalVar(const Name, DefaultIfNotFound: String): String;

Returns DefaultIfNotFound if the variable doesn’t exist.
GetString Returns the value of a resource string.

function GetString(const ID: String): String;

Returns the value of the resource string, or empty if not found.
GetManualHardwareID Returns a unique system ID based on hardware specs.

function GetManualHardwareID(method: integer): String;

method: 0 (HDD Serial), 1 (Media ID), 2 (CPU ID), 3 (HDD Manufacturer ID).

Program, File, and Folder Functions #

OpenFile Opens an external document or program file.

function OpenFile(const Filename, Parameters: String; State: Integer): Integer;

Result is successful if greater than 31.
UnpackTemporaryResource Extracts a compiled file to a temporary file and returns the path. The file is removed when the application closes.

function UnpackTemporaryResource(const SourceName: String): String;

Useful with OpenFile for files that can’t be handled internally (videos, etc.).
RunAProgram Executes the specified program file.

function RunAProgram(const Filename, Params, WorkingDir: String; Wait: Boolean; DispWindow: Integer): Boolean;

Wait: If `True`, the application waits for the program to finish.
OpenFileDialog Displays the standard “File Open” dialog box.

function OpenFileDialog(const aTitle, aFilename, aDefaultExt, aFilter, aInitialDir: String): String;

Returns the full path to the selected file, or an empty string if canceled. Warning: The main window must be available.
SaveFileDialog Displays the standard “File Save As” dialog box.

function SaveFileDialog(const aTitle, aFilename, aDefaultExt, aFilter, aInitialDir: String): String;

Returns the full path to the selected file, or an empty string if canceled. Warning: The main window must be available.
SelectDirectory Displays a “Browse For Folder” dialog box.

function SelectDirectory(const Caption: String; const Root: String): String;

Returns the full path to the selected folder, or an empty string if canceled.

Miscellaneous Functions #

MD5OfAString Computes the MD5 hash of a string (converts to UTF-8 first).

function MD5OfAString(const Str: String): String;

InputBox Prompts the user for input with a dialog box.

function InputBox(const Query, Title, Default: String): String;

Returns the user’s input, or an empty string if they chose “Cancel”.
StartTimer Starts a timer to trigger an event after a specified interval.

procedure StartTimer(const TimerName: String; const Interval: Cardinal);

Interval is in milliseconds (e.g., 1000 for one second).
StopTimer Stops a timer started by StartTimer.

procedure StopTimer(const TimerName: String);

Delphi Class Support #

Some Delphi classes, such as TStringList and TMemoryStream, are also supported.

To use these classes, you must add the Classes unit to the uses clause at the top of your script:

uses Classes;

To use the TRegistry object, add the Registry unit:

uses Registry;

procedure Test1;
var
  reg: TRegistry;
begin
  reg := TRegistry.Create;
  reg.RootKey := HKEY_LOCAL_MACHINE;
  reg.DeleteKey("Software\HEViewer\Coucou");
  reg.CloseKey();
  reg.Free;
end;

Other Windows dialog boxes, such as the Color Picker dialog, are also available through the script engine if you add the Dialogs unit:

uses Dialogs;

procedure StartIt;
var
  CD: TColorDialog;
  S: String;
begin
  CD := TColorDialog.Create(nil);
  if CD.Execute(0) then
  begin
    S := inttostr(CD.Color);
    ShowMessage(S);
  end;
  CD.Free;
end;

Introduction to Scripting

Using the Script Manager

What are your Feelings

  • Happy
  • Normal
  • Sad

Share This Article :

  • Facebook
  • X
  • LinkedIn
  • Pinterest
Running and Calling HEScript Procedures/FunctionsHow to Run an Executable Program

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Table of Contents
  • Interface Functions
  • Navigation Functions
  • Management Functions
  • Program, File, and Folder Functions
  • Miscellaneous Functions
  • Delphi Class Support
ExeOutput for PHP to EXE compiler

PHP to EXE App Compiler
© G.D.G. Software 2025

X-twitter Youtube
Software
  • Home
  • Feature Tour
  • Screenshots
  • Video and Screencasts
  • Home
  • Feature Tour
  • Screenshots
  • Video and Screencasts
Get
  • Download
  • Buy Now
  • PHP App Samples
  • My Account
  • Download
  • Buy Now
  • PHP App Samples
  • My Account
Connect
  • Latest News
  • Newsletter
  • Forum
  • Affiliate Program
  • Support Center
  • Latest News
  • Newsletter
  • Forum
  • Affiliate Program
  • Support Center
QUESTIONS?
  • Contact Us
  • FAQ
  • Documentation
  • Privacy Policy
  • About Us
  • Contact Us
  • FAQ
  • Documentation
  • Privacy Policy
  • About Us
Manage Consent
To provide the best experiences, we use technologies like cookies to store and/or access device information. Consenting to these technologies will allow us to process data such as browsing behavior or unique IDs on this site. Not consenting or withdrawing consent, may adversely affect certain features and functions.
Functional Always active
The technical storage or access is strictly necessary for the legitimate purpose of enabling the use of a specific service explicitly requested by the subscriber or user, or for the sole purpose of carrying out the transmission of a communication over an electronic communications network.
Preferences
The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.
Statistics
The technical storage or access that is used exclusively for statistical purposes. The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
Marketing
The technical storage or access is required to create user profiles to send advertising, or to track the user on a website or across several websites for similar marketing purposes.
  • Manage options
  • Manage services
  • Manage {vendor_count} vendors
  • Read more about these purposes
View preferences
  • {title}
  • {title}
  • {title}