[C++] Włączanie zewnętrznych programów z poziomu własnego

Siema, jako że jest to mój pierwszy post na tym forum, to chciałbym się z wszystkimi przywitać. :slight_smile: Ale do tematu. Otóż chciałbym napisać program w C++ który po wybraniu odpowiedniej liczby uruchamiałby odpowiedni program. Mam nadzieję, że mniej więcej zrozumiecie o co mi chodzi Wyglądałoby to tak że wyświetla mi się lista programów, razem z przypisanymi liczbami, i po wklepaniu odpowiedniej liczby uruchomiłby się program ze ścieżki podanej w funkcji. No właśnie teraz tylko pytanie jakiej funkcji użyć? Potrzebna mi jest tylko funkcja, z resztą sobie poradzę. Mam nadzieję, że napisałem dosyć jasno :slight_smile: Z góry dzięki za pomoc.

Pozdr.

system("notepad.exe");

WinExec/ShellExecute

Dobra, mam napisany i skompilowany, włącza się, ale gdy wybieram program do włączenia wyskakuje komunikat “Nazwa ‘C:Program’ nie jest rozpoznawana jako polecenie wewnętrzne lub zewnętrzne”. O co chodzi?

To przez spacje w ścieżce. Musisz albo poprzedzić spacje backslashem, albo całą ścieżkę ując w cudzysłowy.

to jest fragment kodu ze ścieżką

case 9: system("\"C:\Program Files (x86)\Adobe\Adobe Photoshop CS3\photoshop.exe\""); 

					 break;

możesz po prostu napisać jak powinno być?

Po co ci te dwa cudzysłowy ? Taką skłądnią wpisujesz w konsolę \ a dalej kompilator nie wie ocb.

system("C:\Program Files (x86)\Adobe\Adobe Photoshop CS3\photoshop.exe"); [/code]

teraz nawet się nie chce włączyć. Błędy:

84 C:\Users\user\Desktop\browser.cpp expected primary-expression before "break" 

86 C:\Users\user\Desktop\browser.cpp missing terminating " character

Takie 2 błędy są przy każdej ścieżce.

Wprawdzie nie mam Windowsa, aby przetestować, ale spróbuj, któraś wersja powinna zadziałać:

system("“C:\Program Files (x86)\Adobe\Adobe Photoshop CS3\photoshop.exe”");

system(“C:\Program\ Files\ (x86)\Adobe\Adobe\ Photoshop\ CS3\photoshop.exe”);

system("“C:/Program Files (x86)/Adobe/Adobe Photoshop CS3/photoshop.exe”"); // wydaje mi się, że slashe też przyjmie, choć nie jestem do końca pewien

system("\"C:\\Program Files (x86)\\Adobe\\Adobe Photoshop CS3\\photoshop.exe\"");

Wielkie dzięki, wszystko śmiga jak należy :slight_smile: Ostatni wariant z tych które podałeś zadziałał :wink: