ShellExecuteEx사용에 대한 궁금증입니다.

skypigzz의 이미지

현제 MFC에서 cmd명령어를 입력해 넣어서 실행 할려고 하는데요 실행 하고 싶은 명령어는

d:\jsvm\bin\H264AVCEncoderLibTestStatic.exe -pf 입력파일 출력파일

이 명령어를 입력하고 싶은데요

현제

SHELLEXECUTEINFO si;

ZeroMemory(&si. sizeof(SHELLEXECUTEINFO));

si.cbSize = (sizeof(SHELLEXECUTEINFO));

si.lpFile = "d:\jsvm\bin\H264AVCEncoderLibTestStatic.exe";

si.nShow = SW_SHOWNORMAL;

si.lpVerb = _T("open");

si.lpParameters = "d:\jsvm\bin\test\입력파일";

ShjellExecuteEx(&si);

이렇게 까진 했는데요.... 실행되는 것도 확인 했구요.. 여기서 출력 파일과 그리고 옵션을 집어 넣고 싶은데 어떻게 해야

되는지 몰라서 2시간동안 헤메다가 이렇게 도움을 구하게 됩니다.. 도와주세요...

아 그리고 만약 d:\jsvm\bin\H264AVCEncoderLibTestStatic.exe 입력파일 출력파일 옵션

이런 경우에는 또 어떻게 해야 되나요? 도와주시면 정말로 감사드리겠습니다 OTL.



Fe.head의 이미지

si.lpParameters = "입력파일 출력파일 옵션";
하면 되지 않을까요?

-----------------------
과거를 알고 싶거든 오늘의 네 모습을 보아라. 그것이 과거의 너니라.
그리고 내일을 알고 싶으냐?
그러면 오늘의 너를 보아라. 그것이 바로 미래의 너니라.

고작 블로킹 하나, 고작 25점 중에 1점, 고작 부활동
"만약 그 순간이 온다면 그때가 네가 배구에 빠지는 순간이야"

cppig1995의 이미지

CString command;
command.Format(L"d:\\jsvm\\bin\\H264AVCEncoderLibTestStatic.exe%s %s %s", pf ? L"pf" : L"", input, output);

그 다음 command를 ShellExecute에 먹이세요.
그나저나 전 실행됐다는 게 더 신기합니다. 백스페이스가 들어간 파일 이름도 있습니까?
...아니 그것보다 컴파일은 되던가요?



한말글 프로그래밍 언어 "열정" http://me-lang.wo.tc

Real programmers /* don't */ comment their code.
If it was hard to write, it should be /* hard to */ read.

dionysos의 이미지

http://msdn.microsoft.com/ko-kr/library/bb759784(en-us,VS.85).aspx
에 있는 걸로 된걸로 봐서는

BOOL ShellExecuteEx(      
    LPSHELLEXECUTEINFO lpExecInfo
);

typedef struct _SHELLEXECUTEINFO {
    DWORD cbSize;
    ULONG fMask;
    HWND hwnd;
    LPCTSTR lpVerb;
    LPCTSTR lpFile;
    LPCTSTR lpParameters;
    LPCTSTR lpDirectory;
    int nShow;
    HINSTANCE hInstApp;
    LPVOID lpIDList;
    LPCTSTR lpClass;
    HKEY hkeyClass;
    DWORD dwHotKey;
    union {
        HANDLE hIcon;
        HANDLE hMonitor;
    } DUMMYUNIONNAME;
    HANDLE hProcess;
} SHELLEXECUTEINFO, *LPSHELLEXECUTEINFO;

라고 되어 있는있습니다.

si.lpParameters = "-pf 입력파일 출력파일";

이렇게 넣으시면 될것 같네요.

물론 "입력파일 출력파일 옵션"
이렇게 되면

si.lpParameters = "입력파일 출력파일 옵션";

하시면 되구요.

노력은 배반하지 않는다.