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 환경에서 순차적으로 자동으로 실행시킬 파일이 있다면 실행파일로 만들어 유용하게 사용하거나 외부 프로그램을 켜줘야 하는 기능이 필요하다면 사용해 보세요.