首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

SendKeys的有关问题,请帮忙解决,多谢

2013-01-19 
SendKeys的问题,请帮忙解决,谢谢public static int KeyBoardHookProc(int nCode, int wParam, IntPtr lPar

SendKeys的问题,请帮忙解决,谢谢
public static int KeyBoardHookProc(int nCode, int wParam, IntPtr lParam)
        {
            if (nCode >= 0)
            {
                KeyBoardHookStruct kbh = (KeyBoardHookStruct)Marshal.PtrToStructure(lParam, typeof(KeyBoardHookStruct));
                
                if (kbh.vkCode == (int)Keys.X)
                {
                   
                    SendKeys.Send("1001");
                   
                    return 1;
                }
            }
            return CallNextHookEx(hHook, nCode, wParam, lParam);
        }


当我按键盘X的时候,SendKeys.Send("1001")被执行两次,我估计是键盘DOWN和UP,所以才显示两次,请问应该如何解决,请帮忙,谢谢。我只需要按X键后,只执行一次SendKeys.Send("1001"),请问如何解决?
[解决办法]
if(wparam==wm_keydown)
return;
[解决办法]
没错,你需要区分是按下还是抬起,可以用api函数判断

if GetKeyState(wParam) < 0 then  

热点排行