• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Otwieranie pliku .exe z plikiem .exe

Object Storage Arubacloud
0 głosów
1,936 wizyt
pytanie zadane 11 września 2015 w C i C++ przez C☺ndzi Stary wyjadacz (12,100 p.)
Witam, programowaniem zajmuje sie od ~tygodnia i postanowilem zrobic gre.

Stworzylem Menu Glowne (w konsoli) i z poziomu menu chcialbym odpalic inny plik .exe (z gra). Czy istnieje taka mozliwosc?

(wygladalo by to tak: odpalam menu -> wybieram opcje start gry -> wylacza sie okienko z Menu i wlacza sie okienka z gra)

2 odpowiedzi

+2 głosów
odpowiedź 11 września 2015 przez Szykem2 Nałogowiec (29,510 p.)
wybrane 11 września 2015 przez C☺ndzi
 
Najlepsza

Spróbuj. Tylko, że otworzy nowe okno konsoli ale innego sposobu nie znam

#include <iostream>
#include <windows.h>

int main() {
    ShellExecute(NULL, "open", "sciezka_do_pliku.exe", NULL, NULL, SW_SHOWDEFAULT);
}

 

komentarz 11 września 2015 przez C☺ndzi Stary wyjadacz (12,100 p.)
A nie mozna zrobic czegos w tym stylu?
" gra.open("gra.exe", ios::in);
gra.execute();
"
komentarz 11 września 2015 przez Szykem2 Nałogowiec (29,510 p.)

z tego co znalazłem to można użyć system()

#include <iostream>
#include <windows.h>

int main() {
    system("path_to_file.exe");
}

Nie otwiera drugiego okna, ale na innych forach znalazłem, że lepiej nie używać system() bo wymagają sporych zasobów, mogą być problemy z zabezpieczeniami programu i mogą występować konflikty z antywirusami. LINK a zmienne if/of/fstream służą do obsługi plików tekstowych.

komentarz 11 września 2015 przez C☺ndzi Stary wyjadacz (12,100 p.)
Chodziło mi od dokładnie coś takiego. Dziękuję.
komentarz 11 września 2015 przez Sebastian Fojcik Nałogowiec (43,020 p.)

A nie mozna zrobic czegos w tym stylu?
" gra.open("gra.exe", ios::in);
gra.execute();
"

metoda (funkcja) open() została opisana w nagłówku <fstream> . Znajdują się tam klasy i metody (funkcje), które umożliwiają Ci pracę z plikami tekstowymi. Oznacza to, że możesz oczywiście otworzyć każdy rodzaj pliku i go czytać. To samo robi notatnik / notepad++. Spróbuj otworzyć jakiś mały plik *.exe za pomocą Notepad++. W taki sposób działa <fstream> - CZYTA.

Aby uruchomić program *.exe musisz poprosić o to system operacyjny. Nagłówek <fstream> w niczym tutaj nie pomoże.

Funkcja system() zasadniczo może zrobić wszystko. Począwszy od wyłączenia komputera, zrobienia kopii zapasowej systemu, sformatowaniu dysku, utworzniu partycji, otworzeniu dowolnego pliku. To po prostu polecenie konsoli systemu.

Ale jak koledzy wcześniej napisali. Może wystąpić problem z zabezpieczeniami. Ty masz zapewne uprawnienia administratora, ale na innym komputerze o restrykcyjnych zabezpieczeniach próba otwarcia pliku *.exe może zakończyć się niepowodzeniem.
No i oczywiście system() nie zadziała na Linuksie.

komentarz 11 września 2015 przez Radekoslaw123 Gaduła (3,080 p.)
Można zrobić coś takiego

#include <iostream>

#include <windows.h>

int main() {

    system("start ścieżka do pliku");

}
komentarz 11 września 2015 przez Sebastian Fojcik Nałogowiec (43,020 p.)
Po pierwsze: ta metoda już była sugerowana kilka postów wyżej.

Dwa: funkcja system() jest zadeklarowana w nagłówku <cstdlib>. Nie w <Windows.h>. Sprawdźcie w dokumentacji :-)
+2 głosów
odpowiedź 11 września 2015 przez Patryk Krajewski Nałogowiec (26,170 p.)

Może System.cls("Start i Ścieżka do programu");

komentarz 11 września 2015 przez C☺ndzi Stary wyjadacz (12,100 p.)
Chodziło mi od dokładnie coś takiego :) Dziękuję!
komentarz 3 lipca 2017 przez MsMaciek123 Pasjonat (24,760 p.)
Zamknij temat

Podobne pytania

0 głosów
1 odpowiedź 461 wizyt
pytanie zadane 25 czerwca 2020 w Systemy operacyjne, programy przez Marcinuq Użytkownik (640 p.)
+3 głosów
1 odpowiedź 134 wizyt
pytanie zadane 31 marca w C# przez ross Nowicjusz (150 p.)
+1 głos
0 odpowiedzi 539 wizyt
pytanie zadane 21 lipca 2020 w C i C++ przez student33 Początkujący (250 p.)

92,551 zapytań

141,393 odpowiedzi

319,523 komentarzy

61,936 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...