Q&A

  • Shellexecute로 프로그램 실행시 궁금한점이요..
안녕하세요..

프로그램을 하다 궁금한 점이 있어 질문드립니다. 고수님들의 조언을 기다립니다.



[문제점]

다음과 같이



ShellExecute(handle, 'open', lvs_path, nil, nil, SW_SHOW);



로 프로그램을 실행하려고 합니다. lvs_path 에는 'c:testa.exe' 라는 스트링이 들어잇구요..



프로그램은 실행이 됩니다. 그런데 문제는 a.exe라는 프로그램이 a.exe가 있는 디렉토리의 ini파일을 참고하여 그 값들을 폼이 만들어질 때, 읽어들이는 데 'file not exist' 라는 메세지가 뜹니다. 이전에 win98에서 실행할 때에는 된 것 같은데, NT와 2000 Professional에서는 안됩니다.



--> 해결책이 없는 지요.. .조언 부탁드립니다.



2  COMMENTS
  • Profile
    innover 2001.09.05 04:28
    ShellExecute를 하시기 전에 먼저 Chdir('c:test'); 를 해보시는게 어떨런지...



    Joseph,yeo wrote:

    > 안녕하세요..

    > 프로그램을 하다 궁금한 점이 있어 질문드립니다. 고수님들의 조언을 기다립니다.

    >

    > [문제점]

    > 다음과 같이

    >

    > ShellExecute(handle, 'open', lvs_path, nil, nil, SW_SHOW);

    >

    > 로 프로그램을 실행하려고 합니다. lvs_path 에는 'c:testa.exe' 라는 스트링이 들어잇구요..

    >

    > 프로그램은 실행이 됩니다. 그런데 문제는 a.exe라는 프로그램이 a.exe가 있는 디렉토리의 ini파일을 참고하여 그 값들을 폼이 만들어질 때, 읽어들이는 데 'file not exist' 라는 메세지가 뜹니다. 이전에 win98에서 실행할 때에는 된 것 같은데, NT와 2000 Professional에서는 안됩니다.

    >

    > --> 해결책이 없는 지요.. .조언 부탁드립니다.

    >

  • Profile
    이경문 2001.09.06 10:30
    제 예상도 그런거 같구요.

    a.exe라는 프로그램이 ini file을 읽어 들일때 exe가 있는 directory에 있는

    ini file을 읽어 드리도록 하면 깔끔하게 해결할 수 있을 것 같습니다.

    예를 들면 a.exe 프로그램에서

    var

    IniFile: TIniFile;

    begin

    IniFile := ExtractFilePath(Application.ExeName) + 'test.ini';

    ...

    end;

    이렇게 하면 될 것 같네요....



    innover wrote:

    > ShellExecute를 하시기 전에 먼저 Chdir('c:test'); 를 해보시는게 어떨런지...

    >

    > Joseph,yeo wrote:

    > > 안녕하세요..

    > > 프로그램을 하다 궁금한 점이 있어 질문드립니다. 고수님들의 조언을 기다립니다.

    > >

    > > [문제점]

    > > 다음과 같이

    > >

    > > ShellExecute(handle, 'open', lvs_path, nil, nil, SW_SHOW);

    > >

    > > 로 프로그램을 실행하려고 합니다. lvs_path 에는 'c:testa.exe' 라는 스트링이 들어잇구요..

    > >

    > > 프로그램은 실행이 됩니다. 그런데 문제는 a.exe라는 프로그램이 a.exe가 있는 디렉토리의 ini파일을 참고하여 그 값들을 폼이 만들어질 때, 읽어들이는 데 'file not exist' 라는 메세지가 뜹니다. 이전에 win98에서 실행할 때에는 된 것 같은데, NT와 2000 Professional에서는 안됩니다.

    > >

    > > --> 해결책이 없는 지요.. .조언 부탁드립니다.

    > >