Description
Quick links: itch.io page · source code
This single-function extension allows to call ShellExecute from GameMaker: Studio and GameMaker Studio 2 games.
The function execute_shell_simple
takes up to 4 arguments:
- path (required)
The absolute path to whatever you are trying to run - an executable, a text file, a.url
, etc.
If you are not sure how to get the true path to your file, have the game copy it to save directory (game_save_id
). - args (optional)
Command-line arguments to pass. Non-executables will generally ignore these.
If omitted, defaults to""
. - action (optional)
What to do with the file, as perlpOperation
in MSDN.
If omitted, defaults to"open"
. - showCmd (optional)
One or other magic number (such as6
forSW_MINIMIZE
) from the same MSDN page.
If omitted, defaults to5
(SW_SHOW
).
Create a text file and open it in default editor:
var _path = game_save_id + "/hi.txt";
var _txt = file_text_open_write(_path);
file_text_write_string(_txt, "Hi! " + date_datetime_string(date_current_datetime()));
file_text_close(_txt);
execute_shell_simple(_path);
Create a text file and open it in Notepad:
var _path = game_save_id + "/hi.txt";
var _txt = file_text_open_write(_path);
file_text_write_string(_txt, "Hi! " + date_datetime_string(date_current_datetime()));
file_text_close(_txt);
var _windir = environment_get_variable("WINDIR");
execute_shell_simple(_windir + "/Notepad.exe", _path);
Create an internet shortcut and open it in default browser:
var _url = "https://yoyogames.com";
var _path = game_save_id + "/shortcut.url";
var _txt = file_text_open_write(path);
// note: use '' instead of @'' in GMS1
file_text_write_string(_txt, @'[{000214A0-0000-0000-C000-000000000046}]
Prop3=19,11
[InternetShortcut]
IDList=
URL=' + _url);
file_text_close(_txt);
execute_shell_simple(_path);
For more advanced uses, consider Execute Shell or Evaluate Shell by Samuel Venable.
End User Licence Agreement (EULA)
Age Rating: 4+
Versions
GMS2 - Version 1.0.0. Published October 9, 2020
GMS2.3 - Version 1.0.1. Published September 29, 2022
Loading, please wait
Package contents
Loading, please wait
What is the issue?
Loading, please wait