Q&A

  • 실행파일을 모달처리 할 경우 파라메터 처리는?
실행파일을 CreateProcess를 사용하여 모달로 Call을 했는데...
실행파일에 파라메타 값을 줘야 하는데 어케 해야되는지 모르겠네여..
도사님들 답변 좀....

[소스임다]
procedure ExecuteAndWait(FilePath, CmdLine:string);
var
  StartInfo : TStartupInfo;
  ProcessInfo : TProcessInformation;
  bCreatedOk : Boolean;
begin
  FillChar( StartInfo, Sizeof(TStartupInfo), #0);
  FillChar( ProcessInfo, Sizeof(TProcessInformation), #0);

  StartInfo.cb := sizeof(StartInfo);
  StartInfo.dwFlags := STARTF_USESTDHANDLES + STARTF_FORCEONFEEDBACK;

  bCreatedOk := Createprocess(PChar(FilePath), PChar(CmdLine),
                                nil, nil, false,
                                NORMAL_PRIORITY_CLASS,
                                nil, nil, StartInfo, ProcessInfo );
  if bCreatedOk then
    with ProcessInfo do
    begin
      WaitForSingleObject(hProcess, INFINITE);
      CloseHandle(hThread);
      CloseHandle(hProcess);
    end;
end;
5  COMMENTS
  • Profile
    이재기 2003.12.02 16:45


    음 두번째 파라미터 cmdLine에다가  쫙 Argument 넘기시면 되는데..
    그래서 만약 실행 프로그램이 C로 되어있으면 argc,argv 식으로 해서
    읽으면 되구 Delphi이라면 Param(0),Param(1) 식으로 해서 넘겨 받으시면 됩니다.
  • Profile
    최용일 2003.11.29 03:41
    안녕하세요. 최용일입니다.

    이미 답이 나와 있는데... 쩝~

    ExecuteAndWait란 함수에 있지 않나요? CmdLine이라고~

    Createprocess함수의 두번째 인자가 파라매터입니다.

    ^^ 항상 즐코하세요...

  • Profile
    이진균 2003.12.01 19:17
      파라메터를 CmdLine에 넣어 봤는데 안되서 질문을 드린건데..(냉무)
  • Profile
    최용일 2003.12.02 19:58
    안녕하세요. 최용일입니다.

    Createprocess의 함수 특성상 아래와 같이 넣어주셔야 제대로 되네요...
    그렇지 않으면 ParamStr(1)번항목을 구할수 없습니다.

    Createprocess(PChar(FilePath), PChar(FilePath + ' ' + CmdLine), ...

    ^^ 항상 즐코하세요...

  • Profile
    이진균 2003.12.03 20:14
    잘 되네여..감사 감사