求问hook小问题
我用了键盘钩子,在判断是抬起还是按下状态时碰到了小毛病,
我是这样写的,
IntPtr MyHookProc(int code, IntPtr wparam, IntPtr lparam)
{
if (code < 0)
return CallNextHookEx(_nextHookPtr, code, wparam, lparam);
if (wparam.ToInt32() == 98 || wparam.ToInt32() == 66) // b键
{
if ((lparam.ToInt32() & 0xC0000000) == 0xC0000000) //抬起
{
MessageBox.Show("fff");
textbox1.text="abc";
return (IntPtr)1;
}
else
{
return IntPtr.Zero;
}
}
问题是关掉messagebox后,还会弹出个messagebox,而且textbox1.text="abc";会执行两次,
为什么会这样啊!我哪里搞错了啊!
3Q!
------解决方案--------------------if (!ispostback)
{
代码
}
------解决方案--------------------帮顶
------解决方案--------------------别人是winform,哪来什么postback
------解决方案--------------------你把 wParam 和 lParam 搞反了吧。