User Avatar Image

ScummVM without a console window

posted by Chyron8472 on - last edited - Viewed by 1.1K users

I have recently discovered how to run ScummVM and compatible games without displaying the console window.


From this
Q5JYm.png


to this
W4WH4.png


I can explain how I came about learning this later, but first I feel it necessary to describe how to do this. It does not actually prevent the console window from running, but rather hides it from view. Also, keep in mind that I am running a Windows PC, and have not tested this on other operating systems.

What you basically need to do is create a .bat file which includes a script to run ScummVM (either included with variables or with preset parameters) and convert it to an executable which runs as an invisible application (cmd.exe is still visible in the process tab of Task Manager.)

Preparation:

[LIST]
[*]Okay, so first what you will need is a copy of ScummVM, free software which is used to run various older adventure games and such.
[*]Next, you will need BAT to EXE Converter. There are other .exe compilers on the net but the reason why I decided upon this one is because you can embed an icon file in the .exe with multiple sizes up to and including 256x256.
[*]Optionally, you may also want the ScummVM icon for this, so I've included it here.
[/LIST]
NOTE: With this procedure, if you use variables in your batch file (%1, %2, etc.) you may have to enclose parameters entirely in quotes instead of only the filename and path when creating shortcuts.


[LIST]
[*]eg., Target: "C:\Program Files\ScummVM\scummvm_noconsole.exe" "--config=C:\Program Files\Games\King's Quest VI\scummvm.ini" kq6-win
instead of: --config="C:\Program Files\Games\King's Quest VI\scummvm.ini"
[/LIST]

Instructions:

1.) Create a batch file with variables (or with set parameters).

--1a.) Open Notepad (click Start -> Run... -> type "notepad"), and input the following:
scummvm.exe %1 %2
exitIt's important to include "exit" here, or else the process hiding the console window may not terminate when you close ScummVM.

[LIST]
[*]It should be noted that I personally only use up to 2 parameters (--config, and a gameid) when loading games with ScummVM, so if you use more parameters you will need to add extra variables (%3 %4 %5 etc.) to make room for them. However, many of the available parameters are also capable of being set within ScummVM itself. If you have no idea what I'm talking about, don't worry about it.
[/LIST]
--1b.) Save the file as scummvm_noconsole.bat

2.) Convert the batch file to an executable which runs invisibly.

--2a.) Run Bat to Exe Converter. At time of this posting, the latest version is 1.5.1.

--2b.) On the "Batch File:" line at the top, click the [ ... ] box, browse to and highlight your scummvm_noconsole.bat file, then click Open.

[LIST]
[*]The path to your batch file should appear in the "Batch File" field, and an identical path and filename should appear in the "Save As" field, except the filename in "Save As" should have an .exe extension instead of .bat.
[/LIST]

--2c.) Under the Options tab, in the "Visibility" box, click the "Invisible Application" option. This step is very important, as it's the entire reason we are doing this.

FuZrm.png


--2d.) Optionally: You may also want to embed an icon within the executable file you are creating. If so, click the "Versioninformations" tab (yeah, I know. Bad spelling.=\ ) Click the [ ... ] box on the line next to "Icon File:", browse to and highlight your icon file, and click Open.

F9Nub.png


--2e.) Click the "Convert" button at the bottom.

Note: if you already have a scummvm_noconsole.exe file in the "Save As" folder, the new file will be created with a number (ie. [1], [2], etc.) in the filename.

3.) Move the new .exe file and create a shortcut

--3a.) Move the scummvm_noconsole.exe file to your ScummVM program's folder (eg. c:\program files\scummvm\ ).

--3b.) Now, create a shortcut to the file (right-click the file -> "create shortcut") and place the shortcut in your desired location.


Done. Sort of.

If you click the shortcut, it will open ScummVM, while hiding ScummVM's console window as an invisible application. If you include a gameid (eg. my gameid for Full Throttle is ft ) as a parameter in the shortcut's target line, it will open the appropriate game directly.


[LIST]
[*]If you create a shortcut which points to your new executable, but include parameters such as the location of an alternate scummvm.ini file (--config=[path]\scummvm.ini), you may need to put quotes around the entire parameter instead of around the path. (eg. "--config=C:\Program Files\Games\King's Quest VI\scummvm.ini" ...instead of: --config="C:\Program Files\Games\King's Quest VI\scummvm.ini" )
[/LIST]

Further, if it bothers you that you can not see your console window, you can easily send the console output to a log file by adding: >scummvm_log.txt (or any other desired path and filename) to the end of the target line in your shortcut.

13 Comments - Linear Discussion: Classic Style
Add Comment