How to change VC++ Default Console Project?

Posted on 2002-06-24
Last Modified: 2010-04-01
I often make small Win32 Console Projects, for test purposes.
I want to change the way VC++ creates the Hello World! application.

How can I change it so that when the project is created, it has addtional #include's, and a getch() function call before {return 0}?
Question by:CuriousGeorge916
  • 4
  • 3
  • 2
  • +1
LVL 86

Expert Comment

ID: 7103394
What do you mean by the "Hello World!" application?

Expert Comment

ID: 7104214
In the MSDN help files is a topic "Creating Custom AppWizards" that is likely what you are looking for.

Unfortunately, numerous attempts to get to is failing, so I can't provide you with a link to the online MSDN library entry yet. :(

Anyway, here's some information on the page:

Creating Custom AppWizards
Home |  Overviews |  How Do I |  Details | Sample

Feature Only in Professional and Enterprise Editions   Creating a Custom AppWizard is supported only in Visual C++ Professional and Enterprise Editions. For more information, seeVisual C++ Editions.

Using the standard MFC AppWizard as a reference, you can create Custom AppWizards that will create programs appropriate for your work environment. The topics listed below describe what custom AppWizards are, when they are useful, and how you create them.

From here, you get a link to more information, one of which is "Understanding Custom AppWizards" where there is a paragraph:

Possibilities for custom AppWizards:

Create a custom AppWizard that is based on the code and resources in an existing project.

Modify code in the standard MFC AppWizard templates.

Add one or more steps to the standard MFC AppWizard’s steps.

Create a custom set of steps.


Author Comment

ID: 7109188
>>What do you mean by the "Hello World!" application?
I'm talking about the application that is created when you create a Win32 Console Application via VC++ 6.0.
Networking for the Cloud Era

Join Microsoft and Riverbed for a discussion and demonstration of enhancements to SteelConnect:
-One-click orchestration and cloud connectivity in Azure environments
-Tight integration of SD-WAN and WAN optimization capabilities
-Scalability and resiliency equal to a data center


Author Comment

ID: 7109193
>>In the MSDN help files is a topic "Creating Custom
>>AppWizards" that is likely what you are looking for.

Thanks Crius, but that's not what I'm looking for.

Expert Comment

ID: 7109207
Hmm, then I am not understanding your question. It is stated right in the documentation I pulled out (and displayed above):

*Possibilities for custom AppWizards: *

Create a custom AppWizard that is based on the code and resources in an existing project.

*Modify code in the standard MFC AppWizard templates.*

and Hello World! is a standard MFC AppWizard template, no?
LVL 49

Expert Comment

ID: 7109321
You cannot change what you get when you aske for a 'Hello World' application from the AppWizard.  But you CAAN create your own Custom AppWizard that will do what you want.  It is actually quite easy... you make a project just the way you want it, then you tell the CustomAppWizard Wizard to use that as a template.  

WHen you are finished, your new Wizard will be listed right ther wher it says MFC Appwizard (Exe) and Win32 Concole App, etc.

It is covered in great detail in MDSN or you can also look at it on the Internet -- a useful place to find information!  See:

-- Dan
LVL 49

Expert Comment

ID: 7109325
In my above post, I forgot to add..

     "Just as Crius has said"

So I am posting this additional comment to atone for that mistake!

-- Dan

Author Comment

ID: 7109868
I'm sorry, but I'm not looking for an AppWizard method.

>>You cannot change what you get when you aske for >>a 'Hello World' application from the AppWizard.
I'm sure there has to be some back door method.
LVL 49

Accepted Solution

DanRollins earned 200 total points
ID: 7110026
Well CuriousGeorge916,
That is really a less than optimal attitude since it is very easy to define a custom appwizard (I just did one in under 30 seconds.  In fact I did two in under 10 seconds).  And it does EXACTLY what you say you want to do.

HOWEVER, there is a kludgy way to hack the standard Console AppWizard.
1) In the IDE, Select File/Open
2) Navigate to
    C:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin

3) Click the file named CONWZ.AWX
4) At the bottom of the dialog, select Open As: 'Binary'
5) click OK.  It opens in a hex editor.

Now Press Ctrl+F and type this in:

    Defines the entry point for the console application

It will highlight the start of the text that is included in the Xxxx.cpp file.  You can start hacking away.  But you will notice that the AWX file contains not just plain text, but special commands like
becasue this template is used for all of the various types of console apps that it generates.

I'm sure that you will be able to puzzle out what can and cannot be modified safely.  And I know that you will remember to backup the original file before you begin hacking.  I have great respect for you as a programmer and a person.

-- Dan

Author Comment

ID: 7110468
Ok Dan,
That's the information that I was looking for.


Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Which IDE to use to begin C++ training? 5 65
VS2015 compilation and missing DLLs 9 161
How to copy an image file into clipboard C/C++? 1 196
Socket Programming (Unix) 8 140
What is C++ STL?: STL stands for Standard Template Library and is a part of standard C++ libraries. It contains many useful data structures (containers) and algorithms, which can spare you a lot of the time. Today we will look at the STL Vector. …
Container Orchestration platforms empower organizations to scale their apps at an exceptional rate. This is the reason numerous innovation-driven companies are moving apps to an appropriated datacenter wide platform that empowers them to scale at a …
The goal of the video will be to teach the user the concept of local variables and scope. An example of a locally defined variable will be given as well as an explanation of what scope is in C++. The local variable and concept of scope will be relat…
The viewer will learn how to user default arguments when defining functions. This method of defining functions will be contrasted with the non-default-argument of defining functions.

809 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question