Не задавайте жесткие пути к системным папкам и системным приложениям (это может привести к ошибкам на разных компьютерах / в разное время или к орфографическим ошибкам.)
@ Реми Лебо предполагает, что вы можете использовать SHGetFolderPath()
или SHGetKnownFolderPath()
, чтобы получить правильный Program Files
путь. Или вы можете получить реальный путь из реестра.
Вот еще один простой способ, которым мы можем выбрать пути жесткого кода. iexplore
и wmplayer
- оба приложения в окнах. Вы можете запустить его с «start appname
» в командной строке (cmd.exe
), или использовать код, как показано ниже:
#include <Windows.h>
#include <iostream>
int main()
{
STARTUPINFO si;
::ZeroMemory(&si, sizeof(si));
si.cb = sizeof(si);
PROCESS_INFORMATION pi;
::ZeroMemory(&pi, sizeof(pi));
//TCHAR cmd[] = TEXT("cmd /c start iexplore");
TCHAR cmd[] = TEXT("cmd /c start wmplayer");
BOOL res = ::CreateProcess(NULL, cmd, nullptr, nullptr, FALSE, 0, nullptr, nullptr, &si, &pi);
return 0;
}
EDIT:
Или вы можете использовать ShellExecute/Ex
без запуска cmd
вместо CreateProcess
:
ShellExecuteA(NULL,NULL, "wmplayer",NULL, NULL, SW_NORMAL);