加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 这个API究竟是什么?它在做什么?

发布时间:2020-12-16 01:45:47 所属栏目:百科 来源:网络整理
导读:我知道你会因为那样的问题而讨厌我.但是有人可以告诉我以下代码在做什么吗? 我的意思是有一些库加载,我明白了.加上有一些方法,但我还是得不到它. F.e: [DllImport("user32.dll",CharSet = CharSet.Auto,SetLastError = true)] [return: MarshalAs(Unmanage
我知道你会因为那样的问题而讨厌我.但是有人可以告诉我以下代码在做什么吗?

我的意思是有一些库加载,我明白了.加上有一些方法,但我还是得不到它.

F.e:

[DllImport("user32.dll",CharSet = CharSet.Auto,SetLastError = true)]
        [return: MarshalAs(UnmanagedType.Bool)]

这是代码:

private static class API 
    {

        [DllImport("user32.dll",SetLastError = true)]
        public static extern IntPtr SetWindowsHookEx(
            int idHook,HookDel lpfn,IntPtr hMod,uint dwThreadId);

        [DllImport("user32.dll",SetLastError = true)]
        [return: MarshalAs(UnmanagedType.Bool)]
        public static extern bool UnhookWindowsHookEx(IntPtr hhk);

        [DllImport("user32.dll",SetLastError = true)]
        public static extern IntPtr CallNextHookEx(
            IntPtr hhk,int nCode,IntPtr wParam,IntPtr lParam);

        [DllImport("kernel32.dll",SetLastError = true)]
        public static extern IntPtr GetModuleHandle(
            string lpModuleName);
    }

你没有必要向我解释一行.请至少给我一些参考,我可以把它读出来.

Thx提前!

解决方法

此代码使用 P/Invoke允许C#代码调用与 Windows Hooks相关的多个Win32 API函数.

发布的代码仅定义方法;它不会调用它们,因此它本身不会做任何事情.它只允许您使用代码其他部分的方法.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读