2013-02-23 3 views
4

ShellExecute를 호출 할 때 반환 값을 얻습니다. 정수입니다. 관련된 오류 메시지는 어디서 얻을 수 있습니까? 나는 그들이 일반적이라는 것을 알고 있지만, MS 문서에서 메시지를 보았다.Shellexecute 반환 값 오류 메시지

+0

[documentation] (http://msdn.microsoft.com/en-us/library/windows/desktop/bb762153%28v=vs.85%29.aspx)에서 가져 가십시오. – BeniBela

+0

... [MS 자체에서 수행] (http://support.microsoft.com/kb/170918/en) ... – TLama

답변

7

ShellExecute의 오류 처리는 다소 재앙입니다. Raymond Chen이 여기에서 설명합니다 : Why does ShellExecute return SE_ERR_ACCESSDENIED for nearly everything? 가능한 한 줌의 ShellExecute 오류를 텍스트로 변환 할 수 있더라도 변함없이 Access denied을 얻게됩니다. 그리고 그다지 도움이되지 않습니다.

실제 오류보고를 원할 경우 ShellExecuteEx을 사용해야합니다. 그래도 실패하면 GetLastError으로 전화하여 Win32 오류가 발생합니다. 설명 텍스트가있는 예외로 바꾸려면 RaiseLastOSError으로 전화하십시오. 설명 텍스트를 오류와 관련 지 으려면 SysErrorMessage으로 전화하십시오.