之前在暑假的时候学了FDU的SoC课程,故对编译时的情况有了一定的了解。在WPF当中,如果我们要调用Win32API(这里以keybd_event
为例):
[DllImport("user32.dll", EntryPoint = "keybd_event", SetLastError = true)]
public static extern void keybd_event(byte bVk, byte bScan, uint dwFlags, uint dwExtraInfo);
上述代码的意思也显而易见,DllImport
是一个attribute
标签。值得注意的是下面的extern
关键词。众所周知,.dll
的全称是Dynamic Link Library
,即在编译时编译器会根据代码中的声明对库中的方法动态链接。这里的extern
即,是对keybd_event
做了声明,并明确是在user32.dll
当中。其他Win32API
的调用同理。