我有一個基於MFC的Windows應用程序與GUI,它是用C++編寫的並且有很多COM對象;我們稱之爲「HelloWorld」。Windows消息框如何顯示消息「未找到成員」。生成?是否有可能攔截它?
用戶向我發送了一個錯誤報告:有時,爲了響應某個特定的用戶操作,MessageBox出現(在下圖中我刪除了標題欄標題)。
1)在MessageBox的標題欄標題是HelloWorld
,並尋找在代碼串,似乎對我來說,這是資源字符串 由AFX_IDS_APP_TITLE
標識(在.rc
源 申請文件);該 以下是.rc
源文件的相關部分:
STRINGTABLE
BEGIN
AFX_IDS_APP_TITLE "HelloWorld"
AFX_IDS_IDLEMESSAGE "..."
AFX_IDS_HELPMODEMESSAGE "..."
END
2)在Windows 7英文語文在MessageBox 的消息是「找不到成員」。
3)在不同語言的Windows 7中,消息以 翻譯成適當的語言。
我認爲這裏描述的問題是 HOWTO: Troubleshoot "Member Not Found" 0x80020003 Error並且與 DISP_E_MEMBERNOTFOUND
錯誤有關;我實際上在 用戶網站上解決了這個問題。
但有一個不同的問題仍然沒有解決,它是用戶體驗 問題:誰送我的錯誤報告的用戶不是 一個程序員,不知道「成員」的表達 意義例如「會員功能」,因此用戶被該消息略微冒犯,因爲「成員」這個詞的許多含義(至少在英語中和在意大利語中是 )。
我檢查了應用程序的源代碼,在我看來,MessageBox不是由應用程序生成的;現在我想 知道如何生成MessageBox以攔截它,並且 顯示不同的MessageBox:是否可以這樣做?
說真的,你真的會花時間嗎?也許你應該告訴用戶他不應該擔心失去他的「成員」;我很確定他沒有發現問題。 –
@RobertHarvey我很認真。 –
我也一樣。這不是你應該花時間的東西;這是你應該責備微軟的東西。任何事情都可能有足夠的時間和金錢;真正的問題是,這是否值得,因爲你已經解決了這個問題,它可能永遠不會重演? –