我正在开发一个程序,该程序需要检测用户何时按下键盘或使用鼠标,即使程序已最小化或未聚焦。我想我必须使用windows API,keybd_event(user32),但我不知道如何使用这个事件的“监听器”。我有类似的东西:
    [DllImport("user32.dll")]
    static extern void keybd_event(byte bVk, byte bScan, uint dwFlags,UIntPtr dwExtraInfo);
    void PressKey(byte keyCode)
    {
        //My code here
    }
我做了一些研究,但这是我第一次使用DllImport,所以我不知道如何继续......谢谢(Ps:对不起我的英语不好,这不是我的母语:))
(PPs:我已经阅读了你所有的答案,但是阅读每个链接需要一段时间,所以我今晚会努力,但我想我会找到答案的。无论如何,谢谢大家的链接;))
编辑:所以我刚刚完成了我的代码,它的工作:) 它看起来像:
    [DllImport("user32.dll")]
    public static extern Boolean GetLastInputInfo(ref tagLASTINPUTINFO plii);
    public struct tagLASTINPUTINFO
    {
        public uint cbSize;
        public Int32 dwTime;
    }
    private void timerTemps_Inactif_Tick(object sender, EventArgs e)
    {
        tagLASTINPUTINFO LastInput = new tagLASTINPUTINFO();
        Int32 IdleTime;
        LastInput.cbSize = (uint)Marshal.SizeOf(LastInput);
        LastInput.dwTime = 0;
        if (GetLastInputInfo(ref LastInput))
        {
            IdleTime = System.Environment.TickCount - LastInput.dwTime;
            if (IdleTime > 10000)
            {
                //My code here
            }
        }
    }
感谢您的帮助;)