ScummVM without a console window
I have recently discovered how to run ScummVM and compatible games without displaying the console window.
From this
to this
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:
Instructions:
1.) Create a batch file with variables (or with set parameters).
--1a.) Open Notepad (click Start -> Run... -> type "notepad"), and input the following:
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.
--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.
--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.
--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.
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.
From this
to this
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:
- 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.
- 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"
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
exit
It's important to include "exit" here, or else the process hiding the console window may not terminate when you close ScummVM.- 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.
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.
- 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.
--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.
--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.
--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.
- 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" )
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.
Sign in to comment in this discussion.
Comments
This method only creates a separate file which is dependent on the ScummVM program files being in the same folder. Further, with this method you can safely update ScummVM and overwrite the original ScummVM files without having to redo this process ever again. You do it and it's done, once and for all. If you compiled the source code yourself, you'd have to do it again and again every time you updated ScummVM.
"C:\Program Files\ScummVM\scummvm.exe --no-console"
This only works for the daily snapshot, buildbot, or custom build compiled from the latest source code. It doesn't yet work for the regular stable build download on the website.
I am using a daily build, but an older one that that will snap the window to the edges of a game while in OpenGL Confine mode (which I use for KQ6 for Windows). The current daily builds do not do this, and I find it gives the interface an amateurish or unfinished feel for it not to do so.
Also, thanks Chyron. Maybe someday I will force myself to be less lazy, buy another power cord, and apply this fix
Right now I have two desktops. And one power cord. All of my classic games and ScummVM are on the desktop without the power cord.
http://www.amazon.com/Cables-Go-03130-Universal-IEC320C13/dp/B0000510ZO/ref=pd_cp_e_1