今天項目遇到一個關於dll中鉤子裏調用含有updatedata()的問題,老是在updatedata()出報assert的錯誤。通過在網上查找資料解決了這個問題,可能不少人都已經知道解決方法,我在這裏寫出來一方面是想和你們分享,另外一方面也是便於本身記憶和翻閱。 html
解決方案:
UpdateData(FALSE)語句用SendMessage(WM_UPDATEDATA, FALSE)替代便可. 函數
abc.h文件中:
#define WM_UPDATEDATA WM_USER + 5
LRESULT OnUpdateData(WPARAM wParam, LPARAM lParam); htm
abc.cpp文件中:
//函數映射 :
ON_MESSAGE(WM_UPDATEDATA, OnUpdateData)
//定義新函數:
LRESULT CProtectPage::OnUpdateData(WPARAM wParam, LPARAM lParam)
{
UpdateData(wParam);
return 0;
}
//傳消息給窗口:
SendMessage(WM_UPDATEDATA, FALSE) blog
原文:http://blog.sina.com.cn/s/blog_4c73004f01000a72.html 鉤子