LONG OldWndProc = 0;
LRESULT CALLBACK WindowProc2( HWND hwnd, // handle to window
UINT uMsg, // message identifier
WPARAM wParam, // first message parameter
LPARAM lParam // second message parameter
)
{
if (uMsg == WM_KEYDOWN)
{
if (wParam == VK_F6)
{
AfxMessageBox(L"您按下了F6键");
}
}
return CallWindowProc((WNDPROC)OldWndProc,hwnd,uMsg,wParam,lParam);
}
void CttDlg::OnBnClickedOk()
{
// TODO: 在此添加控件通知处理程序代码
OldWndProc = ::SetWindowLong(m_hWnd,GWL_WNDPROC,(LONG)WindowProc2);
}
这种写法和热键的区别是:
做外挂时方便用,只需要一个窗口句柄就行了。