C++
[C++] 외부 프로그램 실행
jeylee
2023. 11. 22. 22:22
외부 프로그램을 실행시켜봅시다.
#include <iostream>
#include <windows.h>
#include <shellapi.h>
using namespace std;
int main()
{
ShellExecute(NULL, L"open"
, L"Open.txt"
, L""
, L"."
, SW_SHOW);
}
네.. 세상 날먹 코드입니다.
윈도우에서 사용할 수 있는 간단한 프로그램 실행 함수입니다.
MSDN의 ShellExecute() :
https://learn.microsoft.com/ko-kr/windows/win32/api/shellapi/nf-shellapi-shellexecutew
이 함수의 요구 사항은 핸들/옵션/실행파일이름/파라미터/위치/창표기방법 입니다.
순서대로 해석하자면
NULL - 오류를 표기하려면 부모에 대한 핸들이지만 작성자는 필요 없어서 비워뒀습니다.
L"open" - 실행될 파일을 열어주세요.
L"Open.txt" - 실행될 파일 이름
L"" - 넣을 파라미터가 없어서 비워뒀습니다
L"." - 현재 자신위치
SW_SHOW - 창을 활성화하고 현재 크기와 위치에 표시합니다.
필자는 위 코드를 실행시켜 같은 디렉터리에 있는 Open.txt 파일을 여는 간단한 프로그램을 만들었지만 다양한 프로그램의 실행을 Sleep을 걸어 순차적으로 실행시키거나 복잡한 파라미터를 포함하여 실행해 볼 수 있습니다.
주의할 점은 해더를 포함시킬 때 window.h 를 먼저 포함시키고 다음에 shellapi.h 를 포함시켜야 오류가 발생하지 않습니다.
이로써 Window 환경에서 순차적으로 자동으로 실행시킬 파일이 있다면 실행파일로 만들어 유용하게 사용하거나 외부 프로그램을 켜줘야 하는 기능이 필요하다면 사용해 보세요.