2013-06-05 104 views
1

using如下:为什么我收到“无法找到类型或名称空间名称LowLevelKeyboardProc”?

using System; 
using System.Diagnostics; 
using System.Windows.Forms; 
using System.Runtime.InteropServices; 
using System.IO; 

,我这里收到的错误: private static LowLevelKeyboardProc _proc = HookCallback;

这里:[DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)] private static extern IntPtr SetWindowsHookEx(int idHook, LowLevelKeyboardProc lpfn, IntPtr hMod, uint dwThreadId);

我使用VS2012 W/C#和下面这个教程:http://null-byte.wonderhowto.com/how-to/create-simple-hidden-console-keylogger-c-sharp-0132757/

+0

您需要自己创建一个这样的委托(和相关的结构)。 – SLaks

+0

它是winapi文档中的占位符号,它实际上并不存在。你需要自己声明委托类型。这个有很多*谷歌点击。 –

+0

,你可以任意命名它,例如LLKBDProc,... :) –

回答

3

您需要定义委托。您引用的文章使用:

private delegate IntPtr LowLevelKeyboardProc(
    int nCode, IntPtr wParam, IntPtr lParam); 

这包含在the referenced article的“步骤3”中。

+0

哇...它竟然是一个错误造成的问题... 我已经键入它作为'LowLevelKeyBoardProc'而不是' LowLevelKeyboardProc'。这是这个评论,让我注意到。 –

相关问题