Programs with main()
by default are compiled as SUBSYSTEM:CONSOLE applications and get a console window. If you own the other processes your application is starting, you could modify them to be windowed applications by one of the following methods:
- Modify them to use
WinMain()
instead of main()
. This is the typical approach but requires modifying code. (If the reason for using main()
is for easy access to argc
/argv
, MSVC provides global __argc
/__argv
equivalents for windowed applications.)
- Explicitly specifying the subsystem and entry point via
/SUBSYSTEM:WINDOWS /ENTRY:main
arguments to link.exe
.
- Use
editbin.exe
to change the subsystem type after the fact. This one might be useful if you don't have source code access to the spawned processes.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…