Solved

How to change VC++ Default Console Project?

Posted on 2002-06-24
10
329 Views
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}?
0
Comment
Question by:CuriousGeorge916
  • 4
  • 3
  • 2
  • +1
10 Comments
 
LVL 86

Expert Comment

by:jkr
ID: 7103394
What do you mean by the "Hello World!" application?
0
 
LVL 3

Expert Comment

by:Crius
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 msdn.microsoft.com 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.

0
 

Author Comment

by:CuriousGeorge916
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.
0
Live: Real-Time Solutions, Start Here

Receive instant 1:1 support from technology experts, using our real-time conversation and whiteboard interface. Your first 5 minutes are always free.

 

Author Comment

by:CuriousGeorge916
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.
0
 
LVL 3

Expert Comment

by:Crius
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?
0
 
LVL 49

Expert Comment

by:DanRollins
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: http://search.microsoft.com/gomsuri.asp?n=1&c=rp_Results&siteid=us/dev&target=http://msdn.microsoft.com/library/en-us/vccore98/HTML/_core_understanding_custom_appwizards.asp

-- Dan
0
 
LVL 49

Expert Comment

by:DanRollins
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
0
 

Author Comment

by:CuriousGeorge916
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.
0
 
LVL 49

Accepted Solution

by:
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
   $$IF(MFC)
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
0
 

Author Comment

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

Thanks
0

Featured Post

Live: Real-Time Solutions, Start Here

Receive instant 1:1 support from technology experts, using our real-time conversation and whiteboard interface. Your first 5 minutes are always free.

Question has a verified solution.

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

When writing generic code, using template meta-programming techniques, it is sometimes useful to know if a type is convertible to another type. A good example of when this might be is if you are writing diagnostic instrumentation for code to generat…
In days of old, returning something by value from a function in C++ was necessarily avoided because it would, invariably, involve one or even two copies of the object being created and potentially costly calls to a copy-constructor and destructor. A…
The goal of the tutorial is to teach the user how to use functions in C++. The video will cover how to define functions, how to call functions and how to create functions prototypes. Microsoft Visual C++ 2010 Express will be used as a text editor an…
The goal of the video will be to teach the user the difference and consequence of passing data by value vs passing data by reference in C++. An example of passing data by value as well as an example of passing data by reference will be be given. Bot…

785 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