"%s는 문제가 발생하여 닫아야 할 필요가 있습니까?"를 사용자 정의하려면 어떻게해야합니까?

StackOverflow https://stackoverflow.com/questions/1885064

  •  19-09-2019
  •  | 
  •  

문제

모든 Windows 개발자는 양식의 경고에 너무 익숙합니다.

foo.exe는 문제를 겪었으며 닫아야합니다.

나는 때때로 내 앱에 사임했지만 (물론 개발 중에 만), 그들이 할 때, 나는 여기에서 "foo.exe"를보고 싶지 않습니다. "foobrowser ™"와 같은 "친절한"이름을보고 싶습니다.

이 문자열을 무시하고 찾지 못하는 MSDN 문서를 높고 낮게 검색했습니다. 그리고 나는 운이없이 메커니즘을 우연히 발견 할 수 있는지 알아보기 위해 많은 실험을 수행했습니다. 그러나 웹을 검색 할 때 "문제가 발생하여 닫아야 할 필요성"을 검색 할 때, 많은 사람들이 친근한 이름으로 앞서 논의하는 것을 보았습니다. :-)

기본 Win32 응용 프로그램에서 작동하려면이 작업이 필요합니다. .NET은 옵션이 아닙니다. 웹에서 논의한 예제에는 Microsoft Internet Explorer (기본 앱)와 Microsoft Works (본 이후로 4 개의 Eons이지만 여전히 기본 앱이라고 생각합니다)가 포함됩니다.

비밀 악수는 무엇입니까?

도움이 되었습니까?

해결책

어떤 버전의 Windows 버전을 타겟팅하고 있는지 확실하지 않지만 최신 제품은 충돌 할 때 친숙한 제품 이름을 사용하려고합니다.

실행 파일에 버전 리소스를 추가하고 FiledEscription 문자열에서 친숙한 제품 이름과 파일 이름을 제공하십시오.

이것 페이지 MSDN은 더 많은 정보를 제공합니다.

다른 팁

내 이해는 일단 예외가 OS까지 기포되면 운이 좋지 않다는 것입니다. 내 접근 방식은 예외를 포착하는 것입니다 ~ 전에 OS에 도달합니다. 내 응용 프로그램에는 사용자가 버그 보고서를 제출할 수있는 처리되지 않은 예외가있을 때 표시되는 양식이있어서 OS가 말하는 양식을 표시하지 못하게합니다.

단지 다른 관점 :)

응용 프로그램 실행 파일의 이름을 바꾸지 않겠습니까? FooBrowser™.exe?

흠. 이것이 무엇을 할 것인지 확실하지 않지만 시도해 볼 가치가 있습니다. 조사해보십시오 SetCurrentProcessExplicitAppuserModelid

응용 프로그램의 친숙한 이름을 포함하는 간단한 문자열 리소스를 만들지 않고 메시지를 작성할 때이를 사용할 수 있습니까?

어떻게 생각해?

이것이 도움이되기를 바랍니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top