Hi, i was wondering if it is possible to launch a .exe file using c++?

say i want to write a simple program which will ask the user if the would like to install the following.:(i am just making it up)

Please pick the number beside the program to launch it.
1)word.exe
2)notepad.exe
etc....

so how can i make it so that if 1 is picked, it will launch that .exe? The exe will be in the same folder as the program its self.

Sorry if this sounds unprofessional, i am only a month and a half into my c++ course.So if anyone could point me in the right direction, i would appreciate it.

Recommended Answers

All 8 Replies

I hate suggesting things like this but you can use system:

system("word.exe");

Ya i read that in another forum too.....but people tend to stay away from the whole system ting? If you have timecould you explain to me? thanks. Also i am guessing that i can change the path of work.exe to something liek this?

system("C:\\word.exe");

An example:

#include <windows.h>

int main() {
  ShellExecute( NULL, NULL, "calc.exe", NULL, NULL, SW_SHOW );
}

An example:

#include <windows.h>

int main() {
  ShellExecute( NULL, NULL, "calc.exe", NULL, NULL, SW_SHOW );
}

Hi i get the following error when trying to use this

Error 1 error C2664: 'ShellExecuteW' : cannot convert parameter 3 from 'const char [9]' to 'LPCWSTR' c:\users\chaudhrys\desktop\n95 games for n-gage\testingexe\testingexe\testingexe.cpp 13


sorry not to experienced with all the system stuff yet.

You are probably using VC++ 2008 Express, which by default compiles everything for UNICODE. You have two choices:
(1) Turn UNICODE off. Projecct --> Properties --> Configuration Properties --> General. In the controls shown in the right-hand side of the screen look for "Character Set" (3d from the bottom) and change it to "Not set".

(2) Make the string UNICODE _TEXT("calc.exe")

No i am using VC pro but i will do what you said =) thanks. Its looking good.

all versions of vc have the same default.

To be complete, there is one other possibility. You can specifically call the non-unicode function by appending A to the function name. The other methods are probably better, though. ShellExecuteA(...);

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.