GUI가있는 MFC 기반 Windows 응용 프로그램이 있는데, C++로 작성되었으며 많은 COM 개체가 있습니다. "HelloWorld"라고 부르 자."Member not found"메시지와 함께 Windows MessageBox를 만드는 방법. 생성됩니까? 그것을 가로 챌 수 있습니까?
사용자가 버그 보고서를 보냈습니다. 특정 사용자 작업에 대한 응답으로 MessageBox가 표시되는 경우가 있습니다 (다음 이미지에서 제목 표시 줄 캡션을 제거함).
1) 메시지 박스의 제목 표시 줄 캡션 HelloWorld
이며, 코드에서 해당 문자열을 찾고,는 .rc
소스 AFX_IDS_APP_TITLE
에 의해 식별되는 리소스 문자열 (라고 나에게 보인다 응용 프로그램의 파일); 영어 메시지 박스 의 메시지가 laguage와
STRINGTABLE
BEGIN
AFX_IDS_APP_TITLE "HelloWorld"
AFX_IDS_IDLEMESSAGE "..."
AFX_IDS_HELPMODEMESSAGE "..."
END
2) 윈도우 7의 경우 : 다음 는 .rc
소스 파일의 관련 섹션은 "회원을 찾을 수 없습니다."
3) 다른 언어를 사용하는 Windows 7에서 메시지는 로 번역됩니다.
여기에 설명 된 문제는 HOWTO: Troubleshoot "Member Not Found" 0x80020003 Error이며 DISP_E_MEMBERNOTFOUND
오류와 관련이 있다고 생각합니다. 실제로 사용자 사이트에서 문제가 해결되었습니다.
그러나 여전히 미해결 인 다른 문제는 그것이 사용자 경험의 문제 : 나에게 버그 리포트를 보내 사용자가 프로그래머 하지 않고 표현 에서 "회원"의 의미를 모르는 "회원 기능"과 같은 단어가 포함되어 있기 때문에 사용자는 단어가 "회원"이라는 의미가 많기 때문에 메시지에 약간 불쾌감을 느꼈습니다 (적어도 영어는 이탈리아어).
응용 프로그램의 소스 코드를 확인한 결과 응용 프로그램에서 MessageBox가 생성되지 않은 것 같습니다. 이제는 에 MessageBox가 가로 챈 다음 다른 메시지 박스를 표시하는 방법을 알고 싶습니다. 가능합니까?
정말이 시간을 정말로 보내고 있습니까? 어쩌면 사용자에게 자신의 "회원"을 잃어 버릴까 봐 걱정하지 않아야한다고 말할 수있을 것입니다. 나는 그가 그것을 발견하는 데 문제가 없다는 것을 확신한다. –
@RobertHarvey 나는 진지해. –
나도 그래. 네가 너의 시간을 보내고있는 게 아니야. 이것은 당신이 마이크로 소프트를 비난해야하는 무언가이다. 충분한 시간과 돈이 주어지면 무엇이든 가능합니다. 진짜 문제는, 당신이 이미 문제를 해결했고 결코 재발하지 않는다는 것을 감안할 때, 그럴 가치가 있습니까? –