Q&A

  • 실행 파일에 특정 값 넘기는 방법
실행파일이 두개로 된 프로그램을 만들었는데

첫번째 실행파일에서

버튼을 클릭하면

WinExec(pchar(Result), SW_SHOWNORMAL)

을 이용해 두번째  실행파일을 실행 합니다.

그때 첫번째 실행 파일에서 가지고 있는 값을

두번째 실행 파일로 넘기는 방법 없나요?
4  COMMENTS
  • Profile
    타락천사 2003.07.30 18:20
    안녕하세요. 타락임다..

    여러 방법이 있습니다.

    흔히 많이 쓰는 것이 레지스트리를 사용하는 거죠. 한쪽에서 쓴후 다른 쪽에서 읽는 거죠.

    또는 txt 파일 하나 만들어서 쓰고 읽고 하는 방법도 있고요.

    그 담에 WM_COPYDATA 나 WM_SETTEST 를 쓰거나 메모리맵 파일을 공유 영역에 만들어 쓰는 방법도 있고요.

    인터프로세스 함수(메일슬롯, DDE 등) 나 컴퓨터 간의 통신 방법(소켓통신, DCOM, Named Pipe 등) 이 있습니다.

    WM_COPYDATA 사용 예제는 제가 팁으로 올려놓은게 있을 겁니다.

    즐푸하세여..

    타락천사..

  • Profile
    쁜지아빠 2003.07.30 04:11
    제가 아는 두 가지를 말씀드리자면..
    첫번째로 메모리맵을 이용해서 원하시는 값을 공유해 사용하시는 방법이 있구요 이 방법은 검색해보시면 쉽게 찾으실 수 있을겁니다.

    두번째로는 Winexec(Pchar(Result) <- 이곳의 Result에다가 파라메터형식으로 전달하는 방법이 있겠네요
    옉를 들어서 Resutl := "경로xxx.exe /data1 /data2" 이런식으로요..
    도움이 되셨길..

  • Profile
    뭉치 2003.07.30 04:30
    두번째 실행 파일 에서는 어떻게 받아야 하나요?

  • Profile
    sky 2003.07.30 19:40
    첫번째 실행파일..
      sParam := 'data1 data2 data3';
      WINEXEC(PChar('C:AAA.EXE ' + sParam), SW_SHOWNORMAL);

    두번째 실행파일에서는..
        ParamStr을 사용합니다.

        sVal1 := ParamStr(1);
        sVal2 := ParamStr(2);
        sVal3 := ParamStr(3);

    이렇게 하면 sVal1 에는 data1 이란 값이.. sVal2 에는 data2 란 값이.. sVal3 에는 data3 이란 값이 각각 들어가 있습니다.