Q&A

  • shellexcute 함수관련 질문입니다. 답변 부탁드립니다.
안녕하세요..

궁금한 점이 있어서 질문드립니다.


ShellExecute( Application.Handle, 'open', 'exam',pPath, 'C:', W_SHOWNORMAL );

라인으로 exam.exe 라는 외부 프로그램을 실행시키는데

이 프로그램(exam.exe)이 실행을 성공적으로 마치면 리턴값이 '0' 이 날라오고

중간에 오류가 나면 다른 숫자가 날라옵니다..

이 리턴값을 알 수 있는 방법이 없나요..??

답변좀 부탁드리겠습니다....



3  COMMENTS
  • Profile
    잘하자 2002.11.26 01:21
    아래사항은 델파이 WINDOWS SDK 도음말에 있슴니다
    그 도움말에서 shellexcute 찾으시면 더 자세히 알수 잇슴다.

    Value        Meaning
    0        The operating system is out of memory or resources.
    ERROR_FILE_NOT_FOUND        The specified file was not found.
    ERROR_PATH_NOT_FOUND        The specified path was not found.
    ERROR_BAD_FORMAT        The .EXE file is invalid (non-Win32 .EXE or error in .EXE image).
    SE_ERR_ACCESSDENIED        The operating system denied access to the specified file.
    SE_ERR_ASSOCINCOMPLETE        The filename association is incomplete or invalid.
    SE_ERR_DDEBUSY        The DDE transaction could not be completed because other DDE transactions were being processed.
    SE_ERR_DDEFAIL        The DDE transaction failed.
    SE_ERR_DDETIMEOUT        The DDE transaction could not be completed because the request timed out.
    SE_ERR_DLLNOTFOUND        The specified dynamic-link library was not found.
    SE_ERR_FNF        The specified file was not found.
    SE_ERR_NOASSOC        There is no application associated with the given filename extension.
    SE_ERR_OOM        There was not enough memory to complete the operation.
    SE_ERR_PNF        The specified path was not found.
    SE_ERR_SHARE        A sharing violation occurred.

    >안녕하세요..
  • Profile
    스머프 2002.11.26 01:37
    답변 감사 드립니다...

    하지만 제가 묻는건

    shellexcute 함수가 실행결과 리턴하는 값이

    아니라 exam.exe 파일이 리턴하는 값을 알고 싶은

    건데요..

    데브피아에 질문을 올렸더니 ShellExecuteEx

    함수를 쓰면 된다고 하는데

    어떻게 쓰는건지 잘 모르겠네요...ㅠ.ㅠ.
  • Profile
    잘하자 2002.11.26 01:53
    hwnd := ShellExecute(handle,'open',
    이 함수로 리턴값이 받아 지면 ( hwnd>0 )
    실행되는것임다.

    실행되었는지 체크는  Findwindowex(wnd, ...)
    api함수를 찾으셨서 사용하시면 가능할것도 같은디.
    답변이 되었는지.. 모르겠네요.

    위의 api 함수를 잘 사용 하시면 가능할것 같습니다.