Puppeteer Help

Graphical Application Scripting Language


This application is a scripting language that allows you to manipulate a graphically application in Windows. It loads a DLL into the target process' address space and then communicates with it via a socket. Sending commands and receiving responses. The best way to understand the language and what it can do is by example. You will need to use the right build for the target application, Puppeteer32.exe for controlling 32bit apps, and Puppeteer64.exe for 64bit apps. The best way to use it is assocaite .puppet files with Puppeteer and then double click the script after editing it.

Example Script

This basic example opens the Notepad application and puts some text in the window. Then opens the save as dialog.
// Find an existing process -or- start a new instance:
ProcessName = "C:\\Windows\\Notepad.exe";
p = GetProcess(ProcessName);
if (!p)
    // Ok, no existing one, start one:
    p = RunProcess(ProcessName);
if (!p)
    // Couldn't find or start the process so exit with error
    return -1;

// Find the main window by title:
w = p.GetWindowByName("Notepad");
Print("w.Len="+w.Length+"\n"); // Check we got only one window back from GetWindowByName
// Potentially you might get multiple results back as an array
menus = w.EnumMenus();
Print("Menus:\n" + menus); // Show all the available menus in the console

w.SendKeys("Shift+A"); // Insert capital 'A' into the document
w.InvokeMenuItem(4); // "Save as"
I'll write some more when I get the chance.


Firstly there is some general reference documenation for the language itself here.

The objects, field and methods specific to Puppeteer are as follows:

Objects: There are some top level functions, that don't need an object to reference from: