Открытие приложения Windows, такого как игра, браузер или любая другая программа, с переполнением стека

Мне было интересно, что как я могу открыть любое приложение в Windows с помощью программирования на C ++, я использую Dev C ++. я использовал system() но это не очень хорошо, или я не правильно его использую. Пожалуйста, скажите мне синтаксис system() открыть приложение или сообщить другую функцию.

3

Решение

Используйте командную оболочку вместо системы для Windows.

#include <Windows.h>
//Link with library: Shell32.lib  or  libshell32.a

ShellExecute(
NULL,            //handle to the parent window
"open",          //Action to take
"Notepad.exe",   //Program path
"arg1 arg2",     //Command line arguments
"C:\\",           //Start in what directory
SW_SHOWMAXIMIZED  //Window state
);

Что касается system (), он принимает только один аргумент, который совпадает с тем, который вы вводите в консоли (cmd.exe)
например
system("dir /a"); делает точно так же, как печатать dir /a в cmd.exe

Если у вас есть проблемы в строительстве в devC ++ проверьте свойства проекта.

Из «Варианты проекта»> Каталоги>

  • Библиотечные каталоги \MinGW64\x86_64-w64-mingw32\lib32
  • Включить каталоги: \MinGW64\x86_64-w64-mingw32\include

Из «Параметры проекта»> Параметры> Линкер

  • -lshell32
4

Другие решения

Вы пробовали CreateProcess?

CreateProcess(lpApplicationName
NULL, NULL, NULL,
NULL, NULL, NULL, NULL,
lpStartupInfo,
lpProcessInformation
)
0

По вопросам рекламы [email protected]