SW 개발

[win32API] CreateProcess() 를 이용해 아규먼트 줘서 실행파일실행

. . . 2009. 1. 15. 15:39
반응형
  • 기타사항 : EVC, winCE5 테스트완료.

CreateProcess를 사용하면서 argument를 주는 방법 예를들어 test.exe를 그냥 실행하는 것이 아니라 command 창에서 test.exe start 처럼 실행 할 때 즉 argument를 줘서 실행하는 방법이다.

첫 변수의 값에 "c:\test.exe", 두 번째 변수는 "c:\test.exe start"라고 주면 된다. 그러면 만들어진 process에서는 api 함수로 만든 녀석은 main의 세 번째 이던가로 들어오고 MFC로 작성된 app는 AfxGetApp()->m_lpCmdLine 이 값을 사용하면 argument로 받은 값을 볼 수 있다.

참고 링크

http://support.microsoft.com/kb/q175986/

예제소스...

간단하게 public 에 있는 예제 소스코드인 wzctools의 경우 exe 실행파일로 나온것을 간단히 아규먼트를 줘서 테스트해보기!

    CreateProcess(L"Temp\\wzctool.exe",  //  현재 폴더의 파일 또는 절대 경로의 파일 
                          L"Temp\\wzctool.exe -e", //appname + argument : PATH만 열려 있다면 가능 
                          NULL,NULL,  // PKO, TKO 보안 
                          FALSE,  // KOHT상속여부 
                          0, //우선 순위 클래스 
                          NULL,NULL,   // 환경변수, 현재 디렉토리 
                          NULL,  // 시작 변수를 담은 구조체 
                          NULL);  // 생성된 PKO, TKO의 핸들을 담아올 변수
반응형